X-Git-Url: https://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/3b10bbd3a88d6e16146414d91d06bb2f36347bfc..d52e64e92557f0b6d7704077ec175c88fa7ca243:/src/out.c diff --git a/src/out.c b/src/out.c index 0803893..2d66570 100644 --- a/src/out.c +++ b/src/out.c @@ -13,6 +13,8 @@ static gboolean in_outh = TRUE; int outphline = 1; static gboolean in_outph = TRUE; +extern char file_sep; + static int strchrcnt(char *s, char c) { @@ -24,11 +26,14 @@ strchrcnt(char *s, char c) } void -out_printf(FILE *fp, char *format,...) +out_printf(FILE *fp, const char *format,...) { va_list ap; char *s; + if (no_write) + return; + va_start(ap, format); s = g_strdup_vprintf(format, ap); va_end(ap); @@ -49,7 +54,7 @@ out_printf(FILE *fp, char *format,...) void out_addline_infile(FILE *fp, int line) { - if(no_lines) + if(no_lines || no_write) return; if(fp == out) { @@ -70,7 +75,7 @@ out_addline_infile(FILE *fp, int line) void out_addline_outfile(FILE *fp) { - if(no_lines) + if(no_lines || no_write) return; if(fp == out) { @@ -87,9 +92,12 @@ out_addline_outfile(FILE *fp) fprintf(fp,"#line %d \"%s.h\"\n",outhline,filebase); in_outh = TRUE; } else if(fp == outph) { + char sep[2] = {0,0}; if(in_outph) return; outphline++; - fprintf(fp,"#line %d \"%s-private.h\"\n",outphline,filebase); + if (file_sep != 0) + sep[0] = file_sep; + fprintf(fp,"#line %d \"%s%sprivate.h\"\n",outphline,filebase,sep); in_outph = TRUE; } else g_assert_not_reached();