ae2f_docs
main.c
Go to the documentation of this file.
1#include "./main.auto.h"
2#include <stdio.h>
3
4#if STRGEN
5
6int Ch;
7char BackSlash[3] = "\\\\";
8
9int main() {
10 fputc('"', stdout);
11 while((Ch = fgetc(stdin)) != EOF) {
12 switch(Ch) {
13 case '\n': case '\r': /** Line Changing */
14 fputs("\\n\" \\\n\"", stdout);
15 break;
16 case '\\': case '\'': case '\"':
17 BackSlash[1] = Ch;
18 fputs(BackSlash, stdout);
19 break;
20 case '\t':
21 BackSlash[1] = 't';
22 fputs(BackSlash, stdout);
23 break;
24 default:
25 fputc(Ch, stdout);
26 break;
27 }
28 }
29
30 fputc('"', stdout);
31 return 0;
32}
33#else
34
35char Buff[BINGEN_BUFFSZ];
36size_t BuffLen, BuffI;
37
38int main() {
39 BuffLen = fread(Buff, 1, 1, stdin);
40 if(ferror(stdout)) {
41 return -1;
42 }
43 if(!BuffLen || feof(stdin)) {
44 printf("{}");
45 return 0;
46 }
47
48 printf("{%d", Buff[0]);
49
50RECURSE:
51
52 BuffLen = fread(Buff, 1, BINGEN_BUFFSZ, stdin);
53 if(ferror(stdin)) {
54 return -1;
55 }
56
57 if(BuffLen) {
58 for(BuffI = 0; BuffI < BuffLen; BuffI++) {
59 printf(",%d", Buff[BuffI]);
60 }
61
62 goto RECURSE;
63 }
64
65 putc('}', stdout);
66 return 0;
67}
68
69#endif
#define STRGEN
Definition main.auto.h:3
char BackSlash[3]
Definition main.c:7
int Ch
Definition main.c:6