version 1.22, 1997/09/04 04:37:16 |
version 1.23, 1997/09/05 00:02:29 |
|
|
for (line = 0 ;; line++) { |
for (line = 0 ;; line++) { |
dig = n = code = 0; |
dig = n = code = 0; |
cp = current_line; |
cp = current_line; |
while ((c = getc(cin)) != '\n') { |
while ((c = fgetc(cin)) != '\n') { |
if (c == IAC) { /* handle telnet commands */ |
if (c == IAC) { /* handle telnet commands */ |
switch (c = getc(cin)) { |
switch (c = fgetc(cin)) { |
case WILL: |
case WILL: |
case WONT: |
case WONT: |
c = getc(cin); |
c = fgetc(cin); |
fprintf(cout, "%c%c%c", IAC, DONT, c); |
fprintf(cout, "%c%c%c", IAC, DONT, c); |
(void)fflush(cout); |
(void)fflush(cout); |
break; |
break; |
case DO: |
case DO: |
case DONT: |
case DONT: |
c = getc(cin); |
c = fgetc(cin); |
fprintf(cout, "%c%c%c", IAC, WONT, c); |
fprintf(cout, "%c%c%c", IAC, WONT, c); |
(void)fflush(cout); |
(void)fflush(cout); |
break; |
break; |
|
|
break; |
break; |
|
|
case TYPE_A: |
case TYPE_A: |
while ((c = getc(fin)) != EOF) { |
while ((c = fgetc(fin)) != EOF) { |
if (c == '\n') { |
if (c == '\n') { |
while (hash && (!progress || filesize < 0) && |
while (hash && (!progress || filesize < 0) && |
(bytes >= hashbytes)) { |
(bytes >= hashbytes)) { |
|
|
goto done; |
goto done; |
n = restart_point; |
n = restart_point; |
for (i = 0; i++ < n;) { |
for (i = 0; i++ < n;) { |
if ((ch = getc(fout)) == EOF) |
if ((ch = fgetc(fout)) == EOF) |
goto done; |
goto done; |
if (ch == '\n') |
if (ch == '\n') |
i++; |
i++; |
|
|
return; |
return; |
} |
} |
} |
} |
while ((c = getc(din)) != EOF) { |
while ((c = fgetc(din)) != EOF) { |
if (c == '\n') |
if (c == '\n') |
bare_lfs++; |
bare_lfs++; |
while (c == '\r') { |
while (c == '\r') { |
|
|
hashbytes += mark; |
hashbytes += mark; |
} |
} |
bytes++; |
bytes++; |
if ((c = getc(din)) != '\n' || tcrflag) { |
if ((c = fgetc(din)) != '\n' || tcrflag) { |
if (ferror(fout)) |
if (ferror(fout)) |
goto break2; |
goto break2; |
(void)putc('\r', fout); |
(void)putc('\r', fout); |