From 505c19580e0f43fe5224431459cacb7c21edd93d Mon Sep 17 00:00:00 2001 From: Ondřej Surý Date: Fri, 6 Apr 2012 15:14:11 +0200 Subject: Imported Upstream version 1 --- src/cmd/gc/mkbuiltin1.c | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) (limited to 'src/cmd/gc/mkbuiltin1.c') diff --git a/src/cmd/gc/mkbuiltin1.c b/src/cmd/gc/mkbuiltin1.c index ad83c0346..f8f61c278 100644 --- a/src/cmd/gc/mkbuiltin1.c +++ b/src/cmd/gc/mkbuiltin1.c @@ -2,15 +2,21 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +// +build ignore + // Compile .go file, import data from .6 file, and generate C string version. -#include -#include #include +#include +#include +#include +#include +#include void esc(char*); +void fatal(char*, ...); -void +int main(int argc, char **argv) { char *name; @@ -19,7 +25,7 @@ main(int argc, char **argv) if(argc != 2) { fprintf(stderr, "usage: mkbuiltin1 sys\n"); - sysfatal("in file $1.6 s/PACKAGE/$1/\n"); + fatal("in file $1.6 s/PACKAGE/$1/"); } name = argv[1]; @@ -27,14 +33,14 @@ main(int argc, char **argv) snprintf(buf, sizeof(buf), "%s.%s", name, getenv("O")); if((fin = fopen(buf, "r")) == NULL) { - sysfatal("open %s: %r\n", buf); + fatal("open %s: %s", buf, strerror(errno)); } // look for $$ that introduces imports while(fgets(buf, sizeof buf, fin) != NULL) if(strstr(buf, "$$")) goto begin; - sysfatal("did not find beginning of imports\n"); + fatal("did not find beginning of imports"); begin: printf("char *%simport =\n", name); @@ -66,11 +72,11 @@ begin: esc(p); printf("\\n\"\n"); } - sysfatal("did not find end of imports\n"); + fatal("did not find end of imports"); end: printf("\t\"$$\\n\";\n"); - exits(0); + return 0; } void @@ -82,3 +88,15 @@ esc(char *p) putchar(*p); } } + +void +fatal(char *msg, ...) +{ + va_list arg; + + va_start(arg, msg); + fprintf(stderr, "fatal: "); + vfprintf(stderr, msg, arg); + fprintf(stderr, "\n"); + exit(2); +} -- cgit v1.2.3