summaryrefslogtreecommitdiff
path: root/array.c
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2019-08-01 09:59:14 -0400
committerJakob Kaivo <jkk@ung.org>2019-08-01 09:59:14 -0400
commitfff56280ea009d490b3abd23b5ad920cdd483908 (patch)
tree5bfd678f07d4c2f84f0347c65ea935dc0dc93b99 /array.c
parentc8319c68c2d5b85dd2c000d19bc760b1fcc384fb (diff)
add -q optionarray
Diffstat (limited to 'array.c')
-rw-r--r--array.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/array.c b/array.c
index 6ad54db..edc99e5 100644
--- a/array.c
+++ b/array.c
@@ -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;