#include <stdio.h>
#include <stdlib.h>
#define CHMX 600
// Parcly Taxel / Jeremy Tan / Freywa
// Program for making gencols outputs more readable
// 23 December 2013
// Is public domain
//
// parclytaxel.tumblr.com
// parclytaxel.deviantart.com
int main(int argc, char* argv[]) {
    FILE *inp, *out;
    char tmp[CHMX];
    int i;

    if (argc != 2) {
        fprintf(stderr, "Usage: %s filename\n", argv[0]);
        exit(1);
    }
    if ((inp = fopen(argv[1], "r")) == NULL) {
        fprintf(stderr, "Error: %s cannot be opened.\n", argv[1]);
        exit(2);
    }
    if ((out = fopen("formatted", "w")) == NULL) {
        fprintf(stderr, "Output file creation failed.\n");
        exit(99); // 99 bottles of beer on the wall...
    }
    while (fgets(tmp, CHMX, inp) != NULL) { // line read into tmp
        for (i = 0; tmp[i] != ' '; i++) {
            if (tmp[i] == '!')
                putc('\n', out);
            else
                putc(tmp[i], out);
        }
        putc('\n', out);
        for (i++; tmp[i] != ' '; i++) {
            if (tmp[i] == '!')
                putc('\n', out);
            else
                putc(tmp[i], out);
        }
        for (i++; tmp[i] != '\0'; i++)
            putc(tmp[i], out);
    }
    if (fclose(inp) != 0 || fclose(out) != 0) {
        fprintf(stderr, "Error in closing files.\n");
        exit(3);
    }
    return 0;
}
