From b0521514688011d1112f0375d131adadae8f05b4 Mon Sep 17 00:00:00 2001 From: Holden Rohrer Date: Sat, 21 Mar 2020 17:23:19 -0400 Subject: added bad roffy program & partial gathing proj --- gathing-eng/badroff.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 gathing-eng/badroff.c (limited to 'gathing-eng/badroff.c') diff --git a/gathing-eng/badroff.c b/gathing-eng/badroff.c new file mode 100644 index 0000000..d318d40 --- /dev/null +++ b/gathing-eng/badroff.c @@ -0,0 +1,50 @@ +#include +#include + +typedef char bool; +#define true 1 +#define false 0 +int main(int argc, char** argv){ + FILE* in; + if (argc >= 2) + in = fopen(argv[1], "r"); + else + in = stdin; + if (in == NULL){ + perror(argv[1]); + return 1; + } + int c; + bool nl = true; + bool cmd = false; + char cmds[81]; + int cmdlen = 0; + while ( (c = fgetc(in)) != EOF){ + if (c == '\n'){ + if (cmd){ + if (! strncmp(cmds,"CT",2)){ + for (int i=0; i<(83-strnlen(cmds,80))/2; i++) + printf(" "); + printf("%s\n",cmds+3); + } else printf("%s\n",cmds); + cmd = false; + cmds[0] = '\0'; + cmdlen = 0; + } + else printf("\n"); + nl = true; + } + else{ + if (c == '.' && nl) + cmd = true; + else if (cmd){ + cmds[cmdlen] = c; + cmds[cmdlen+1] = '\0'; + cmdlen++; + } + else printf("%c",c); + nl = false; + } + } + return 0; +} -- cgit