11 char *base = basename(cmd);
12 fprintf(stderr, "Usage: %s infile [outfile]\n", base);
16 main(int argc, char *argv[])
18 FILE *infile, *outfile;
19 char in_buffer[BUF_SIZE];
20 char out_buffer[2*BUF_SIZE];
22 if (argc < 2 || argc > 3)
27 infile = fopen(argv[1], "r");
34 outfile = fopen(argv[2], "w");
36 while (fgets(in_buffer, BUF_SIZE, infile) != NULL)
41 // Step on any CR LF at end of line
42 len = strlen(in_buffer);
43 if (len > 1 && in_buffer[len-1] == '\n' && in_buffer[len-2] == '\r')
49 else if (len > 0 && in_buffer[len-1] == '\n')
54 for (jj = 0, ii = 0; ii < len; ii++)
56 if (in_buffer[ii] == '"')
58 out_buffer[jj++] = '\\';
59 out_buffer[jj++] = in_buffer[ii];
61 else if (in_buffer[ii] == '\r')
66 out_buffer[jj++] = in_buffer[ii];
71 fprintf(outfile, "\"%s\\n\"\n", out_buffer);
73 fprintf(outfile, "\"%s\"\n", out_buffer);