Make strgen remove tabs in the math library
diff --git a/gen/strgen.c b/gen/strgen.c
index 45e57b4..5a175a1 100644
--- a/gen/strgen.c
+++ b/gen/strgen.c
@@ -52,12 +52,12 @@
FILE *in, *out;
char *label, *define, *name;
int c, count, err, slashes;
- bool has_label, has_define;
+ bool has_label, has_define, remove_tabs;
err = 0;
if (argc < 4) {
- printf("usage: gen input output name [label [define]]\n");
+ printf("usage: gen input output name [label [define [remove_tabs]]]\n");
return INVALID_PARAMS;
}
@@ -69,6 +69,8 @@
has_define = argc > 5 && strcmp("", argv[5]);
define = has_define ? argv[5] : "";
+ remove_tabs = argc > 6;
+
in = fopen(argv[1], "r");
if (!in) return INVALID_INPUT_FILE;
@@ -120,29 +122,32 @@
int val;
- if (!count) {
- if (fprintf(out, " ") < 0) {
+ if (!remove_tabs || c != '\t') {
+
+ if (!count) {
+ if (fprintf(out, " ") < 0) {
+ err = IO_ERR;
+ goto error;
+ }
+ }
+
+ val = fprintf(out, "%d,", c);
+
+ if (val < 0) {
err = IO_ERR;
goto error;
}
- }
- val = fprintf(out, "%d,", c);
+ count += val;
- if (val < 0) {
- err = IO_ERR;
- goto error;
- }
+ if (count > MAX_WIDTH) {
- count += val;
+ count = 0;
- if (count > MAX_WIDTH) {
-
- count = 0;
-
- if (fputc('\n', out) == EOF) {
- err = IO_ERR;
- goto error;
+ if (fputc('\n', out) == EOF) {
+ err = IO_ERR;
+ goto error;
+ }
}
}