File: delcr.c

package info (click to toggle)
ucspi-tcp-src 0.88-15
  • links: PTS
  • area: non-free
  • in suites: lenny, squeeze
  • size: 1,380 kB
  • ctags: 761
  • sloc: ansic: 6,758; makefile: 854; sh: 312
file content (37 lines) | stat: -rw-r--r-- 698 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "buffer.h"
#include "exit.h"

main()
{
  register int n;
  register char *x;
  char ch;
  register int flagcr = 0;

  for (;;) {
    n = buffer_feed(buffer_0);
    if (n < 0) _exit(111);
    if (!n) {
      if (flagcr) buffer_PUTC(buffer_1,"\r"[0]);
      buffer_flush(buffer_1);
      _exit(0);
    }
    x = buffer_PEEK(buffer_0);
    buffer_SEEK(buffer_0,n);

    while (n > 0) {
      ch = *x++; --n;
      if (!flagcr) {
        if (ch == '\r') { flagcr = 1; continue; }
	buffer_PUTC(buffer_1,ch);
	continue;
      }
      if (ch != '\n') {
        buffer_PUTC(buffer_1,"\r"[0]);
        if (ch == '\r') continue;
      }
      flagcr = 0;
      buffer_PUTC(buffer_1,ch);
    }
  }
}