home *** CD-ROM | disk | FTP | other *** search
- Date: Monday, 26 March 1984 10:28-MST
- From: hplabs!tektronix!teklds!azure!keithr at Ucb-Vax.ARPA
- To: info-cpm at Brl-Aos.ARPA
- Re: Aztec CII I/O Redirection (Reposted with new info)
-
- (Reposting)
-
- The problem of slow redirected I/O in Aztec C is caused by
- I/O being unbuffered. This causes each byte of output that
- is redirected to a file to be written seperately (Read sec-
- tor, place byte, write sector). No wonder is so slow.
-
- The solution I've been using is simply changing the unbuf-
- fered I/O into buffered I/O. I've also added a few exten-
- tions which are "2>" (redirect stderr), "2>>" (append
- stderr) and ">>" (append stdout).
-
- To implement the fix find the file called "CROOT.C" in the
- source to your library. It contains a function call
- "Croot()". Replace the while loop that starts with "while
- (Argc < MAXARGS)" with the following--
-
-
- while (Argc < MAXARGS) {
- while (*cp == ' ' || *cp == '')
- ++cp;
- if (*cp == NULL)
- break;
- k = -1;
- switch (*cp) {
- case '>':
- if (*(cp+1)=='>') {
- ++cp;
- k = 1;
- } else
- k = 1;
- break;
- case '<':
- k = 0;
- break;
- case '2':
- if (*(cp+1)) == '>') {
- ++cp;
- if (*(cp+1) == '>') {
- ++cp;
- k = 5;
- } else
- k = 2;
- }
-