extern FILE *out;
extern FILE *outh;
+extern FILE *outph;
+
+extern gboolean for_cpp;
extern char *filename;
extern char *filebase;
int outline = 1;
int outhline = 1;
+int outphline = 1;
static int
strchrcnt(char *s, char c)
{
va_list ap;
char *s;
+
va_start(ap,format);
-
s = g_strdup_vprintf(format,ap);
+ va_end(ap);
if(fp == out)
outline += strchrcnt(s,'\n');
else if(fp == outh)
outhline += strchrcnt(s,'\n');
+ else if(fp == outph)
+ outphline += strchrcnt(s,'\n');
else
g_assert_not_reached();
fprintf(fp,"%s",s);
g_free(s);
-
- va_end(ap);
}
void
outline++;
else if(fp == outh)
outhline++;
+ else if(fp == outph)
+ outphline++;
else
g_assert_not_reached();
{
if(fp == out) {
outline++;
- fprintf(fp,"#line %d \"%s.c\"\n",outline,filebase);
+ if(!for_cpp)
+ fprintf(fp,"#line %d \"%s.c\"\n",outline,filebase);
+ else
+ fprintf(fp,"#line %d \"%s.cc\"\n",outline,filebase);
} else if(fp == outh) {
outhline++;
fprintf(fp,"#line %d \"%s.h\"\n",outhline,filebase);
+ } else if(fp == outph) {
+ outphline++;
+ fprintf(fp,"#line %d \"%s-private.h\"\n",outphline,filebase);
} else
g_assert_not_reached();