diff options
author | Jakob Kaivo <jkk@ung.org> | 2019-08-01 09:59:14 -0400 |
---|---|---|
committer | Jakob Kaivo <jkk@ung.org> | 2019-08-01 09:59:14 -0400 |
commit | fff56280ea009d490b3abd23b5ad920cdd483908 (patch) | |
tree | 5bfd678f07d4c2f84f0347c65ea935dc0dc93b99 /array.c | |
parent | c8319c68c2d5b85dd2c000d19bc760b1fcc384fb (diff) |
add -q optionarray
Diffstat (limited to 'array.c')
-rw-r--r-- | array.c | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -6,7 +6,7 @@ #define CHARS_PER_LINE 8 -int make_array(const char *path, int include_size) +int make_array(const char *path, const char *qual, int include_size) { FILE *f = stdin; @@ -27,7 +27,10 @@ int make_array(const char *path, int include_size) } id[plen] = '\0'; - printf("unsigned char %s[] = {\n", id); + if (qual && strlen(qual) > 0) { + printf("%s ", qual); + } + printf("char %s[] = {\n", id); int c; int i = 0; @@ -62,15 +65,20 @@ int make_array(const char *path, int include_size) int main(int argc, char *argv[]) { + char *qual = "unsigned"; int include_size = 0; int c; - while ((c = getopt(argc, argv, "s")) != -1) { + while ((c = getopt(argc, argv, "sq:")) != -1) { switch (c) { case 's': include_size = 1; break; + case 'q': + qual = optarg; + break; + default: return 1; } @@ -78,7 +86,7 @@ int main(int argc, char *argv[]) int ret = 0; do { - ret |= make_array(argv[optind++], include_size); + ret |= make_array(argv[optind++], qual, include_size); } while (optind < argc); return ret; |