1*411dcbecSplunkyIndex: cpp.c 2*411dcbecSplunky=================================================================== 3*411dcbecSplunkyRCS file: /cvsroot/pcc/cc/cpp/cpp.c,v 4*411dcbecSplunkyretrieving revision 1.196 5*411dcbecSplunkyretrieving revision 1.197 6*411dcbecSplunkydiff -u -p -u -r1.196 -r1.197 7*411dcbecSplunky--- cpp.c 18 Oct 2014 15:02:03 -0000 1.196 8*411dcbecSplunky+++ cpp.c 19 Oct 2014 17:40:36 -0000 1.197 9*411dcbecSplunky@@ -1,4 +1,4 @@ 10*411dcbecSplunky-/* Id: cpp.c,v 1.196 2014/10/18 15:02:03 ragge Exp */ 11*411dcbecSplunky-/* $NetBSD: stdio.diff,v 1.1.1.1 2016/02/09 20:28:45 plunky Exp $ */ 12*411dcbecSplunky+/* Id: cpp.c,v 1.197 2014/10/19 17:40:36 ragge Exp */ 13*411dcbecSplunky+/* $NetBSD: stdio.diff,v 1.1.1.1 2016/02/09 20:28:45 plunky Exp $ */ 14*411dcbecSplunky 15*411dcbecSplunky /* 16*411dcbecSplunky * Copyright (c) 2004,2010 Anders Magnusson (ragge@ludd.luth.se). 17*411dcbecSplunky@@ -74,15 +74,13 @@ static void prrep(const usch *s); 18*411dcbecSplunky #define IMP(x) 19*411dcbecSplunky #endif 20*411dcbecSplunky 21*411dcbecSplunky-int ofd; 22*411dcbecSplunky-usch outbuf[CPPBUF], lastoch; 23*411dcbecSplunky-int obufp, istty; 24*411dcbecSplunky int Aflag, Cflag, Eflag, Mflag, dMflag, Pflag, MPflag, MMDflag; 25*411dcbecSplunky usch *Mfile, *MPfile, *Mxfile; 26*411dcbecSplunky struct initar *initar; 27*411dcbecSplunky int readmac; 28*411dcbecSplunky int defining; 29*411dcbecSplunky int warnings; 30*411dcbecSplunky+FILE *of; 31*411dcbecSplunky 32*411dcbecSplunky /* include dirs */ 33*411dcbecSplunky struct incs { 34*411dcbecSplunky@@ -141,7 +139,6 @@ int bidx; /* Top of bptr stack */ 35*411dcbecSplunky static int readargs(struct symtab *sp, const usch **args); 36*411dcbecSplunky static void exparg(int); 37*411dcbecSplunky static void subarg(struct symtab *sp, const usch **args, int); 38*411dcbecSplunky-static void flbuf(void); 39*411dcbecSplunky static void usage(void); 40*411dcbecSplunky static usch *xstrdup(const usch *str); 41*411dcbecSplunky static void addidir(char *idir, struct incs **ww); 42*411dcbecSplunky@@ -324,11 +321,10 @@ main(int argc, char **argv) 43*411dcbecSplunky } 44*411dcbecSplunky 45*411dcbecSplunky if (argc == 2) { 46*411dcbecSplunky- if ((ofd = open(argv[1], O_WRONLY|O_CREAT|O_TRUNC, 0666)) < 0) 47*411dcbecSplunky+ if ((of = freopen(argv[1], "w", stdout)) == NULL) 48*411dcbecSplunky error("Can't creat %s", argv[1]); 49*411dcbecSplunky } else 50*411dcbecSplunky- ofd = 1; /* stdout */ 51*411dcbecSplunky- istty = isatty(ofd); 52*411dcbecSplunky+ of = stdout; 53*411dcbecSplunky 54*411dcbecSplunky if (argc && strcmp(argv[0], "-")) { 55*411dcbecSplunky fn1 = fn2 = (usch *)argv[0]; 56*411dcbecSplunky@@ -339,8 +335,7 @@ main(int argc, char **argv) 57*411dcbecSplunky if (pushfile(fn1, fn2, 0, NULL)) 58*411dcbecSplunky error("cannot open %s", argv[0]); 59*411dcbecSplunky 60*411dcbecSplunky- flbuf(); 61*411dcbecSplunky- close(ofd); 62*411dcbecSplunky+ fclose(of); 63*411dcbecSplunky #ifdef TIMING 64*411dcbecSplunky (void)gettimeofday(&t2, NULL); 65*411dcbecSplunky t2.tv_sec -= t1.tv_sec; 66*411dcbecSplunky@@ -1054,21 +1049,15 @@ void 67*411dcbecSplunky warning(const char *fmt, ...) 68*411dcbecSplunky { 69*411dcbecSplunky va_list ap; 70*411dcbecSplunky- usch *sb; 71*411dcbecSplunky 72*411dcbecSplunky- flbuf(); 73*411dcbecSplunky- savch(0); 74*411dcbecSplunky- 75*411dcbecSplunky- sb = stringbuf; 76*411dcbecSplunky if (ifiles != NULL) 77*411dcbecSplunky- sheap("%s:%d: warning: ", ifiles->fname, ifiles->lineno); 78*411dcbecSplunky+ fprintf(stderr, "%s:%d: warning: ", 79*411dcbecSplunky+ ifiles->fname, ifiles->lineno); 80*411dcbecSplunky 81*411dcbecSplunky va_start(ap,fmt); 82*411dcbecSplunky- vsheap(fmt, ap); 83*411dcbecSplunky+ vfprintf(stderr, fmt, ap); 84*411dcbecSplunky va_end(ap); 85*411dcbecSplunky- savch('\n'); 86*411dcbecSplunky- xwrite(2, sb, stringbuf - sb); 87*411dcbecSplunky- stringbuf = sb; 88*411dcbecSplunky+ fputc('\n', stderr); 89*411dcbecSplunky 90*411dcbecSplunky warnings++; 91*411dcbecSplunky } 92*411dcbecSplunky@@ -1077,22 +1066,15 @@ void 93*411dcbecSplunky error(const char *fmt, ...) 94*411dcbecSplunky { 95*411dcbecSplunky va_list ap; 96*411dcbecSplunky- usch *sb; 97*411dcbecSplunky 98*411dcbecSplunky- flbuf(); 99*411dcbecSplunky- savch(0); 100*411dcbecSplunky- 101*411dcbecSplunky- sb = stringbuf; 102*411dcbecSplunky if (ifiles != NULL) 103*411dcbecSplunky- sheap("%s:%d: error: ", ifiles->fname, ifiles->lineno); 104*411dcbecSplunky+ fprintf(stderr, "%s:%d: error: ", 105*411dcbecSplunky+ ifiles->fname, ifiles->lineno); 106*411dcbecSplunky 107*411dcbecSplunky va_start(ap, fmt); 108*411dcbecSplunky- vsheap(fmt, ap); 109*411dcbecSplunky+ vfprintf(stderr, fmt, ap); 110*411dcbecSplunky va_end(ap); 111*411dcbecSplunky- savch('\n'); 112*411dcbecSplunky- xwrite(2, sb, stringbuf - sb); 113*411dcbecSplunky- stringbuf = sb; 114*411dcbecSplunky- 115*411dcbecSplunky+ fputc('\n', stderr); 116*411dcbecSplunky exit(1); 117*411dcbecSplunky } 118*411dcbecSplunky 119*411dcbecSplunky@@ -1287,7 +1269,7 @@ delwarn(void) 120*411dcbecSplunky } else if (c == EBLOCK) { 121*411dcbecSplunky sss(); 122*411dcbecSplunky } else if (c == '\n') { 123*411dcbecSplunky- putch(cinput()); 124*411dcbecSplunky+ fputc(cinput(), stdout); 125*411dcbecSplunky } else 126*411dcbecSplunky savstr(yytext); 127*411dcbecSplunky } 128*411dcbecSplunky@@ -1310,7 +1292,7 @@ kfind(struct symtab *sp) 129*411dcbecSplunky struct symtab *nl; 130*411dcbecSplunky const usch *argary[MAXARGS+1], *cbp; 131*411dcbecSplunky usch *sbp; 132*411dcbecSplunky- int c, o, chkf; 133*411dcbecSplunky+ int c, o; 134*411dcbecSplunky 135*411dcbecSplunky DPRINT(("%d:enter kfind(%s)\n",0,sp->namep)); 136*411dcbecSplunky IMP("KFIND"); 137*411dcbecSplunky@@ -1331,11 +1313,6 @@ kfind(struct symtab *sp) 138*411dcbecSplunky exparg(1); 139*411dcbecSplunky 140*411dcbecSplunky upp: sbp = stringbuf; 141*411dcbecSplunky- chkf = 1; 142*411dcbecSplunky- if (obufp != 0) 143*411dcbecSplunky- lastoch = outbuf[obufp-1]; 144*411dcbecSplunky- if (iswsnl(lastoch)) 145*411dcbecSplunky- chkf = 0; 146*411dcbecSplunky if (Cflag) 147*411dcbecSplunky readmac++; 148*411dcbecSplunky while ((c = sloscan()) != WARN) { 149*411dcbecSplunky@@ -1391,12 +1368,9 @@ upp: sbp = stringbuf; 150*411dcbecSplunky break; 151*411dcbecSplunky 152*411dcbecSplunky default: 153*411dcbecSplunky- if (chkf && c < 127) 154*411dcbecSplunky- putch(' '); 155*411dcbecSplunky savstr(yytext); 156*411dcbecSplunky break; 157*411dcbecSplunky } 158*411dcbecSplunky- chkf = 0; 159*411dcbecSplunky } 160*411dcbecSplunky if (Cflag) 161*411dcbecSplunky readmac--; 162*411dcbecSplunky@@ -1423,7 +1397,7 @@ upp: sbp = stringbuf; 163*411dcbecSplunky /* Found one, output \n to be in sync */ 164*411dcbecSplunky for (; *sbp; sbp++) { 165*411dcbecSplunky if (*sbp == '\n') 166*411dcbecSplunky- putch('\n'), ifiles->lineno++; 167*411dcbecSplunky+ fputc('\n', stdout), ifiles->lineno++; 168*411dcbecSplunky } 169*411dcbecSplunky 170*411dcbecSplunky /* fetch arguments */ 171*411dcbecSplunky@@ -1576,7 +1550,7 @@ chkdir(void) 172*411dcbecSplunky while ((ch = cinput()) != '\n') 173*411dcbecSplunky ; 174*411dcbecSplunky ifiles->lineno++; 175*411dcbecSplunky- putch('\n'); 176*411dcbecSplunky+ fputc('\n', stdout); 177*411dcbecSplunky } 178*411dcbecSplunky } 179*411dcbecSplunky 180*411dcbecSplunky@@ -1611,7 +1585,7 @@ readargs(struct symtab *sp, const usch * 181*411dcbecSplunky while ((c = sloscan()) == WSPACE || c == '\n') 182*411dcbecSplunky if (c == '\n') { 183*411dcbecSplunky ifiles->lineno++; 184*411dcbecSplunky- putch(cinput()); 185*411dcbecSplunky+ fputc(cinput(), stdout); 186*411dcbecSplunky chkdir(); 187*411dcbecSplunky } 188*411dcbecSplunky for (;;) { 189*411dcbecSplunky@@ -1632,7 +1606,7 @@ readargs(struct symtab *sp, const usch * 190*411dcbecSplunky savstr(yytext); 191*411dcbecSplunky oho: while ((c = sloscan()) == '\n') { 192*411dcbecSplunky ifiles->lineno++; 193*411dcbecSplunky- putch(cinput()); 194*411dcbecSplunky+ fputc(cinput(), stdout); 195*411dcbecSplunky chkdir(); 196*411dcbecSplunky savch(' '); 197*411dcbecSplunky } 198*411dcbecSplunky@@ -2010,37 +1984,6 @@ unpstr(const usch *c) 199*411dcbecSplunky } 200*411dcbecSplunky } 201*411dcbecSplunky 202*411dcbecSplunky-static void 203*411dcbecSplunky-flbuf(void) 204*411dcbecSplunky-{ 205*411dcbecSplunky- if (obufp == 0) 206*411dcbecSplunky- return; 207*411dcbecSplunky- if (Mflag == 0) 208*411dcbecSplunky- xwrite(ofd, outbuf, obufp); 209*411dcbecSplunky- lastoch = outbuf[obufp-1]; 210*411dcbecSplunky- obufp = 0; 211*411dcbecSplunky-} 212*411dcbecSplunky- 213*411dcbecSplunky-void 214*411dcbecSplunky-putch(int ch) 215*411dcbecSplunky-{ 216*411dcbecSplunky- outbuf[obufp++] = (usch)ch; 217*411dcbecSplunky- if (obufp == CPPBUF || (istty && ch == '\n')) 218*411dcbecSplunky- flbuf(); 219*411dcbecSplunky-} 220*411dcbecSplunky- 221*411dcbecSplunky-void 222*411dcbecSplunky-putstr(const usch *s) 223*411dcbecSplunky-{ 224*411dcbecSplunky- for (; *s; s++) { 225*411dcbecSplunky- if (*s == PHOLD) 226*411dcbecSplunky- continue; 227*411dcbecSplunky- outbuf[obufp++] = *s; 228*411dcbecSplunky- if (obufp == CPPBUF || (istty && *s == '\n')) 229*411dcbecSplunky- flbuf(); 230*411dcbecSplunky- } 231*411dcbecSplunky-} 232*411dcbecSplunky- 233*411dcbecSplunky /* 234*411dcbecSplunky * convert a number to an ascii string. Store it on the heap. 235*411dcbecSplunky */ 236*411dcbecSplunkyIndex: cpp.h 237*411dcbecSplunky=================================================================== 238*411dcbecSplunkyRCS file: /cvsroot/pcc/cc/cpp/cpp.h,v 239*411dcbecSplunkyretrieving revision 1.70 240*411dcbecSplunkyretrieving revision 1.71 241*411dcbecSplunkydiff -u -p -u -r1.70 -r1.71 242*411dcbecSplunky--- cpp.h 18 Oct 2014 15:02:03 -0000 1.70 243*411dcbecSplunky+++ cpp.h 19 Oct 2014 17:40:36 -0000 1.71 244*411dcbecSplunky@@ -1,4 +1,4 @@ 245*411dcbecSplunky-/* Id: cpp.h,v 1.70 2014/10/18 15:02:03 ragge Exp */ 246*411dcbecSplunky-/* $NetBSD: stdio.diff,v 1.1.1.1 2016/02/09 20:28:45 plunky Exp $ */ 247*411dcbecSplunky+/* Id: cpp.h,v 1.71 2014/10/19 17:40:36 ragge Exp */ 248*411dcbecSplunky+/* $NetBSD: stdio.diff,v 1.1.1.1 2016/02/09 20:28:45 plunky Exp $ */ 249*411dcbecSplunky 250*411dcbecSplunky /* 251*411dcbecSplunky * Copyright (c) 2004,2010 Anders Magnusson (ragge@ludd.luth.se). 252*411dcbecSplunky@@ -39,8 +39,8 @@ extern int dflag; 253*411dcbecSplunky extern int tflag, Aflag, Cflag, Pflag; 254*411dcbecSplunky extern int Mflag, dMflag, MPflag, MMDflag; 255*411dcbecSplunky extern usch *Mfile, *MPfile; 256*411dcbecSplunky-extern int ofd; 257*411dcbecSplunky extern int defining; 258*411dcbecSplunky+extern FILE *of; 259*411dcbecSplunky 260*411dcbecSplunky /* args for lookup() */ 261*411dcbecSplunky #define FIND 0 262*411dcbecSplunkyIndex: token.c 263*411dcbecSplunky=================================================================== 264*411dcbecSplunkyRCS file: /cvsroot/pcc/cc/cpp/token.c,v 265*411dcbecSplunkyretrieving revision 1.119 266*411dcbecSplunkyretrieving revision 1.120 267*411dcbecSplunkydiff -u -p -u -r1.119 -r1.120 268*411dcbecSplunky--- token.c 18 Oct 2014 15:02:03 -0000 1.119 269*411dcbecSplunky+++ token.c 19 Oct 2014 17:40:36 -0000 1.120 270*411dcbecSplunky@@ -1,4 +1,4 @@ 271*411dcbecSplunky-/* Id: token.c,v 1.119 2014/10/18 15:02:03 ragge Exp */ 272*411dcbecSplunky-/* $NetBSD: stdio.diff,v 1.1.1.1 2016/02/09 20:28:45 plunky Exp $ */ 273*411dcbecSplunky+/* Id: token.c,v 1.120 2014/10/19 17:40:36 ragge Exp */ 274*411dcbecSplunky+/* $NetBSD: stdio.diff,v 1.1.1.1 2016/02/09 20:28:45 plunky Exp $ */ 275*411dcbecSplunky 276*411dcbecSplunky /* 277*411dcbecSplunky * Copyright (c) 2004,2009 Anders Magnusson. All rights reserved. 278*411dcbecSplunky@@ -65,7 +65,7 @@ static void undefstmt(void); 279*411dcbecSplunky static void pragmastmt(void); 280*411dcbecSplunky static void elifstmt(void); 281*411dcbecSplunky 282*411dcbecSplunky-#define PUTCH(ch) if (!flslvl) putch(ch) 283*411dcbecSplunky+#define PUTCH(ch) if (!flslvl) fputc(ch, stdout) 284*411dcbecSplunky /* protection against recursion in #include */ 285*411dcbecSplunky #define MAX_INCLEVEL 100 286*411dcbecSplunky static int inclevel; 287*411dcbecSplunky@@ -312,7 +312,7 @@ eatcmnt(void) 288*411dcbecSplunky ch = inch(); 289*411dcbecSplunky if (ch == '\n') { 290*411dcbecSplunky ifiles->lineno++; 291*411dcbecSplunky- putch('\n'); 292*411dcbecSplunky+ fputc('\n', stdout); 293*411dcbecSplunky continue; 294*411dcbecSplunky } 295*411dcbecSplunky if (ch == -1) 296*411dcbecSplunky@@ -373,9 +373,11 @@ xloop: if (ch == -1) 297*411dcbecSplunky 298*411dcbecSplunky case '/': /* Comments */ 299*411dcbecSplunky if ((ch = inch()) == '/') { 300*411dcbecSplunky-cppcmt: if (Cflag) { PUTCH(ch); } else { PUTCH(' '); } 301*411dcbecSplunky+ if (!flslvl) { 302*411dcbecSplunky+cppcmt: fputc(Cflag ? ch : ' ', stdout); 303*411dcbecSplunky+ } 304*411dcbecSplunky do { 305*411dcbecSplunky- if (Cflag) PUTCH(ch); 306*411dcbecSplunky+ if (Cflag && !flslvl) fputc(ch, stdout); 307*411dcbecSplunky ch = inch(); 308*411dcbecSplunky if (ch == -1) 309*411dcbecSplunky goto eof; 310*411dcbecSplunky@@ -385,7 +387,7 @@ cppcmt: if (Cflag) { PUTCH(ch); } els 311*411dcbecSplunky if (eatcmnt() == -1) 312*411dcbecSplunky goto eof; 313*411dcbecSplunky } else { 314*411dcbecSplunky- PUTCH('/'); 315*411dcbecSplunky+ if (!flslvl) fputc('/', stdout); 316*411dcbecSplunky goto xloop; 317*411dcbecSplunky } 318*411dcbecSplunky break; 319*411dcbecSplunky@@ -395,7 +397,7 @@ cppcmt: if (Cflag) { PUTCH(ch); } els 320*411dcbecSplunky ifiles->lineno += i; 321*411dcbecSplunky ifiles->escln = 0; 322*411dcbecSplunky while (i-- > 0) 323*411dcbecSplunky- putch('\n'); 324*411dcbecSplunky+ fputc('\n', stdout); 325*411dcbecSplunky run: for(;;) { 326*411dcbecSplunky ch = inch(); 327*411dcbecSplunky if (ch == '/') { 328*411dcbecSplunky@@ -412,7 +414,7 @@ run: for(;;) { 329*411dcbecSplunky } 330*411dcbecSplunky if (ch != ' ' && ch != '\t') 331*411dcbecSplunky break; 332*411dcbecSplunky- PUTCH(ch); 333*411dcbecSplunky+ if (!flslvl) fputc(ch, stdout); 334*411dcbecSplunky } 335*411dcbecSplunky if (ch == '#') { 336*411dcbecSplunky ppdir(); 337*411dcbecSplunky@@ -537,9 +539,9 @@ con: PUTCH(ch); 338*411dcbecSplunky if (flslvl == 0) { 339*411dcbecSplunky cp = stringbuf; 340*411dcbecSplunky if ((nl = lookup(yytext, FIND)) && kfind(nl)) 341*411dcbecSplunky- putstr(stringbuf); 342*411dcbecSplunky+ printf("%s", stringbuf); 343*411dcbecSplunky else 344*411dcbecSplunky- putstr(yytext); 345*411dcbecSplunky+ printf("%s", (char *)yytext); 346*411dcbecSplunky stringbuf = cp; 347*411dcbecSplunky } 348*411dcbecSplunky if (ch == -1) 349*411dcbecSplunky@@ -559,7 +561,7 @@ con: PUTCH(ch); 350*411dcbecSplunky } 351*411dcbecSplunky 352*411dcbecSplunky eof: warning("unexpected EOF"); 353*411dcbecSplunky- putch('\n'); 354*411dcbecSplunky+ fputc('\n', stdout); 355*411dcbecSplunky } 356*411dcbecSplunky 357*411dcbecSplunky int 358*411dcbecSplunky@@ -667,7 +669,7 @@ chlit: 359*411dcbecSplunky if (c == -1) 360*411dcbecSplunky return 0; 361*411dcbecSplunky if (c == '\n') 362*411dcbecSplunky- putch(c), ifiles->lineno++; 363*411dcbecSplunky+ fputc(c, stdout), ifiles->lineno++; 364*411dcbecSplunky else if (c == EBLOCK) { 365*411dcbecSplunky (void)inch(); 366*411dcbecSplunky (void)inch(); 367*411dcbecSplunky@@ -976,7 +978,7 @@ pushfile(const usch *file, const usch *f 368*411dcbecSplunky prinit(initar, ic); 369*411dcbecSplunky initar = NULL; 370*411dcbecSplunky if (dMflag) 371*411dcbecSplunky- xwrite(ofd, ic->buffer, strlen((char *)ic->buffer)); 372*411dcbecSplunky+ printf("%s", (char *)ic->buffer); 373*411dcbecSplunky fastscan(); 374*411dcbecSplunky prtline(); 375*411dcbecSplunky ic->infil = oin; 376*411dcbecSplunky@@ -1004,27 +1006,22 @@ pushfile(const usch *file, const usch *f 377*411dcbecSplunky void 378*411dcbecSplunky prtline(void) 379*411dcbecSplunky { 380*411dcbecSplunky- usch *sb = stringbuf; 381*411dcbecSplunky- 382*411dcbecSplunky if (Mflag) { 383*411dcbecSplunky if (dMflag) 384*411dcbecSplunky return; /* no output */ 385*411dcbecSplunky if (ifiles->lineno == 1 && 386*411dcbecSplunky (MMDflag == 0 || ifiles->idx != SYSINC)) { 387*411dcbecSplunky- sheap("%s: %s\n", Mfile, ifiles->fname); 388*411dcbecSplunky+ printf("%s: %s\n", Mfile, ifiles->fname); 389*411dcbecSplunky if (MPflag && 390*411dcbecSplunky strcmp((const char *)ifiles->fname, (char *)MPfile)) 391*411dcbecSplunky- sheap("%s:\n", ifiles->fname); 392*411dcbecSplunky- xwrite(ofd, sb, stringbuf - sb); 393*411dcbecSplunky+ printf("%s:\n", ifiles->fname); 394*411dcbecSplunky } 395*411dcbecSplunky } else if (!Pflag) { 396*411dcbecSplunky- sheap("\n# %d \"%s\"", ifiles->lineno, ifiles->fname); 397*411dcbecSplunky+ printf("\n# %d \"%s\"", ifiles->lineno, ifiles->fname); 398*411dcbecSplunky if (ifiles->idx == SYSINC) 399*411dcbecSplunky- sheap(" 3"); 400*411dcbecSplunky- sheap("\n"); 401*411dcbecSplunky- putstr(sb); 402*411dcbecSplunky+ printf(" 3"); 403*411dcbecSplunky+ printf("\n"); 404*411dcbecSplunky } 405*411dcbecSplunky- stringbuf = sb; 406*411dcbecSplunky } 407*411dcbecSplunky 408*411dcbecSplunky void 409*411dcbecSplunky@@ -1344,7 +1341,7 @@ pragmastmt(void) 410*411dcbecSplunky sb = stringbuf; 411*411dcbecSplunky savstr((const usch *)"\n#pragma "); 412*411dcbecSplunky savln(); 413*411dcbecSplunky- putstr(sb); 414*411dcbecSplunky+ printf("%s", ((char *)sb)); 415*411dcbecSplunky prtline(); 416*411dcbecSplunky stringbuf = sb; 417*411dcbecSplunky } 418*411dcbecSplunky@@ -1416,7 +1413,7 @@ redo: while ((ch = inch()) == ' ' || ch 419*411dcbecSplunky goto redo; 420*411dcbecSplunky unch(ch); 421*411dcbecSplunky } else if (ch == '\n') { 422*411dcbecSplunky- putch('\n'); 423*411dcbecSplunky+ fputc('\n', stdout); 424*411dcbecSplunky ifiles->lineno++; 425*411dcbecSplunky } 426*411dcbecSplunky } 427