home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Oakland CPM Archive
/
oakcpm.iso
/
cpm
/
aztec-c
/
aztec-c.fix
< prev
next >
Wrap
Internet Message Format
|
1985-01-06
|
2KB
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;
}