// Compile .go file, import data from .6 file, and generate C string version.
+#include <u.h>
+#include <libc.h>
#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
void esc(char*);
if(argc != 2) {
fprintf(stderr, "usage: mkbuiltin1 sys\n");
- fprintf(stderr, "in file $1.6 s/PACKAGE/$1/\n");
- exit(1);
+ sysfatal("in file $1.6 s/PACKAGE/$1/\n");
}
name = argv[1];
snprintf(buf, sizeof(buf), "%s.%s", name, getenv("O"));
if((fin = fopen(buf, "r")) == NULL) {
- fprintf(stderr, "open %s: %s\n", buf, strerror(errno));
- exit(1);
+ sysfatal("open %s: %r\n", buf);
}
// look for $$ that introduces imports
while(fgets(buf, sizeof buf, fin) != NULL)
if(strstr(buf, "$$"))
goto begin;
- fprintf(stderr, "did not find beginning of imports\n");
- exit(1);
+ sysfatal("did not find beginning of imports\n");
begin:
printf("char *%simport =\n", name);
esc(p);
printf("\\n\"\n", p);
}
- fprintf(stderr, "did not find end of imports\n");
- exit(1);
+ sysfatal("did not find end of imports\n");
end:
printf("\t\"$$\\n\";\n");