/* * Print current position to output file. */ void prtline() { usch *s, *os = stringbuf; if (Mflag) { if (dMflag) return; /* no output */ if (ifiles->lineno == 1) { s = sheap("%s: %s\n", Mfile, ifiles->fname); write(ofd, s, strlen((char *)s)); } } else if (!Pflag) putstr(sheap("\n# %d \"%s\"\n", ifiles->lineno, ifiles->fname)); stringbuf = os; }
/* * Print current position to output file. */ void prtline(void) { usch *sb = stringbuf; if (Mflag) { if (dMflag) return; /* no output */ if (ifiles->lineno == 1) { sheap("%s: %s\n", Mfile, ifiles->fname); if (MPflag && strcmp((const char *)ifiles->fname, (char *)MPfile)) sheap("%s:\n", ifiles->fname); xwrite(ofd, sb, stringbuf - sb); } } else if (!Pflag) { sheap("\n# %d \"%s\"", ifiles->lineno, ifiles->fname); if (ifiles->idx == SYSINC) sheap(" 3"); sheap("\n"); putstr(sb); } stringbuf = sb; }