annotate mlk-bcc/mlk-bcc.c @ 445:773a082f0b91

misc: update copyright years
author David Demelier <markand@malikania.fr>
date Wed, 01 Feb 2023 13:08:54 +0100
parents 556c8e2ff995
children 8a7648480e2d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
415
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * bcc.c -- binary to C/C++ arrays converter
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
445
773a082f0b91 misc: update copyright years
David Demelier <markand@malikania.fr>
parents: 435
diff changeset
4 * Copyright (c) 2020-2023 David Demelier <markand@malikania.fr>
415
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #include <errno.h>
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 #include <stdarg.h>
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 #include <stdio.h>
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 #include <stdlib.h>
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 #include <string.h>
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
24
435
556c8e2ff995 misc: move tools/* in /
David Demelier <markand@malikania.fr>
parents: 415
diff changeset
25 #if defined(__OpenBSD__)
556c8e2ff995 misc: move tools/* in /
David Demelier <markand@malikania.fr>
parents: 415
diff changeset
26 # include <unistd.h>
556c8e2ff995 misc: move tools/* in /
David Demelier <markand@malikania.fr>
parents: 415
diff changeset
27 #endif
556c8e2ff995 misc: move tools/* in /
David Demelier <markand@malikania.fr>
parents: 415
diff changeset
28
415
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 #include "arg.h"
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
30
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 char *argv0;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
32
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 static const char *charset = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_";
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 static char findentchar = '\t';
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 static int findent = 1, fconst, fnull, fstatic;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
36
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 static void
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 usage(void)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 {
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 fprintf(stderr, "usage: bcc [-0cs] [-I tab-indent] [-i space-indent] input variable\n");
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 exit(1);
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 }
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
43
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 static void
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 die(const char *fmt, ...)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 {
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 va_list ap;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
48
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 va_start(ap, fmt);
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 fputs("abort: ", stderr);
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 vfprintf(stderr, fmt, ap);
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 va_end(ap);
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 exit(1);
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 }
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
55
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 static char *
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 mangle(char *variable)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 {
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 char *p;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 size_t pos;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
61
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 /* Remove extension. */
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 if ((p = strrchr(variable, '.')))
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 *p = '\0';
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
65
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 /* Remove disallowed characters. */
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 while ((pos = strspn(variable, charset)) != strlen(variable))
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 variable[pos] = '_';
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
69
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 return variable;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 }
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
72
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 static void
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 indent(void)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 {
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 for (int i = 0; i < findent; ++i)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 putchar(findentchar);
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 }
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
79
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 static void
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 put(int ch)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 {
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 printf("0x%02hhx", (unsigned char)ch);
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 }
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
85
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 static void
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 process(const char *input, const char *variable)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 {
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 FILE *fp;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 int ch, col = 0;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
91
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 if (strcmp(input, "-") == 0)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 fp = stdin;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 else if (!(fp = fopen(input, "rb")))
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 die("%s: %s\n", input, strerror(errno));
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
96
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 if (fstatic)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 printf("static ");
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 if (fconst)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 printf("const ");
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
101
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 printf("unsigned char %s[] = {\n", variable);
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
103
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 for (ch = fgetc(fp); ch != EOF; ) {
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 if (col == 0)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
106 indent();
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
107
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
108 put(ch);
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
109
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 if ((ch = fgetc(fp)) != EOF || fnull)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
111 printf(",%s", col < 3 ? " " : "");
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
112
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 if (++col == 4) {
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 col = 0;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
115 putchar('\n');
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 }
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
117
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 /* Add final '\0' if required. */
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
119 if (ch == EOF && fnull) {
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
120 if (col++ == 0)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
121 indent();
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
122
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
123 put(0);
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
124 }
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
125 }
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
126
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
127 if (col != 0)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 printf("\n");
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
129
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
130 puts("};");
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 fclose(fp);
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
132 }
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
133
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
134 int
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
135 main(int argc, char *argv[])
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
136 {
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
137 #if defined(__OpenBSD__)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 if (pledge("rpath stdio", NULL) < 0)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
139 die("abort: %s\n", strerror(errno));
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 #endif
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
141
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
142 ARGBEGIN {
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
143 case '0':
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
144 fnull = 1;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
145 break;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
146 case 'c':
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
147 fconst = 1;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
148 break;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
149 case 'I':
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
150 findentchar = '\t';
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
151 findent = atoi(EARGF(usage()));
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
152 break;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
153 case 'i':
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
154 findentchar = ' ';
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
155 findent = atoi(EARGF(usage()));
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
156 break;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
157 case 's':
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
158 fstatic = 1;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
159 break;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
160 default:
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
161 usage();
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
162 break;
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
163 } ARGEND
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
164
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
165 if (argc < 2)
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
166 usage();
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
167
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
168 process(argv[0], mangle(argv[1]));
a5b98db4fd87 misc: fix .hgignore too greedy
David Demelier <markand@malikania.fr>
parents:
diff changeset
169 }