- * cpydgst.c -- copy from one fd to another in encapsulating mode
- * -- (do dashstuffing of input data).
- *
- * $Id$
- *
- * This code is Copyright (c) 2002, by the authors of nmh. See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** cpydgst.c -- copy from one fd to another in encapsulating mode
+** -- (do dashstuffing of input data).
+**
+** This code is Copyright (c) 2002, by the authors of nmh. See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
- * We want to perform the substitution
- *
- * \n(-.*)\n --> \n- \1\n
- *
- * This is equivalent to the sed substitution
- *
- * sed -e 's%^-%- -%' < ifile > ofile
- *
- * but the routine below is faster than the pipe, fork, and exec.
- */
+** We want to perform the substitution
+**
+** \n(-.*)\n --> \n- \1\n
+**
+** This is equivalent to the sed substitution
+**
+** sed -e 's%^-%- -%' < ifile > ofile
+**
+** but the routine below is faster than the pipe, fork, and exec.
+*/
-#define output(c) if (bp >= dp) {flush(); *bp++ = c;} else *bp++ = c
-#define flush() if ((j = bp - outbuf) && write (out, outbuf, j) != j) \
- adios (ofile, "error writing"); \
- else \
- bp = outbuf
+#define output(c) if (bp >= dp) {flush(); *bp++ = c;} else *bp++ = c
+#define flush() if ((j = bp - outbuf) && write(out, outbuf, j) != j) \
+ adios(ofile, "error writing"); \
+ else \
+ bp = outbuf
-cpydgst (int in, int out, char *ifile, char *ofile)
+cpydgst(int in, int out, char *ifile, char *ofile)
- register int i, j, state;
- register char *cp, *ep;
- register char *bp, *dp;
- char buffer[BUFSIZ], outbuf[BUFSIZ];
+ register int i, j, state;
+ register char *cp, *ep;
+ register char *bp, *dp;
+ char buffer[BUFSIZ], outbuf[BUFSIZ];
- dp = (bp = outbuf) + sizeof outbuf;
- for (state = S1; (i = read (in, buffer, sizeof buffer)) > 0;)
- for (ep = (cp = buffer) + i; cp < ep; cp++) {
- if (*cp == '\0')
- continue;
- switch (state) {
- case S1:
- if (*cp == '-') {
- output ('-');
- output (' ');
- }
- state = S2; /* fall */
+ dp = (bp = outbuf) + sizeof outbuf;
+ for (state = S1; (i = read(in, buffer, sizeof buffer)) > 0;)
+ for (ep = (cp = buffer) + i; cp < ep; cp++) {
+ if (*cp == '\0')
+ continue;
+ switch (state) {
+ case S1:
+ if (*cp == '-') {
+ output('-');
+ output(' ');
+ }
+ state = S2; /* fall */