1891a 2#ifdef XMOD 3 fontheight = n; 4#endif 5. 6592a 7#ifdef XMOD 8includefile(filenm) 9char *filenm; { 10 11 FILE *inf; 12 int ch, c1, c2, firstch = 0; 13 14 if (!(inf = fopen(filenm, "r"))) { 15 fprintf(stderr, "psdit: fopen(%s): ", filenm); 16 perror(); 17 exit(1); 18 } 19 c1 = fgetc(inf); c2 = fgetc(inf); 20 if (c1 != '%' || c2 != '!') 21 fprintf(stderr, "psdit: %s not a postscript file.\n", filenm), 22 exit(1); 23 24 fputs("%!", tf); 25 while ((ch = fgetc(inf)) != EOF) { 26 fputc(ch, tf); 27 if (firstch && ch == '%') { 28 /* we have to double leading '%'s */ 29 fputc('%', tf); 30 } 31 firstch = (ch == '\n'); 32 } 33 fclose(inf); 34} 35#endif 36. 37587a 38#ifdef XMOD 39 case 'X': { /* \X command from ditroff */ 40 int last; 41 char largebuf[128]; 42 fscanf (fp, "%1s", str); 43 switch (str[0]) { 44 case 'p' : 45 FlushShow(0);MoveTo();DoMove(); 46 fgets(largebuf, sizeof(largebuf), fp); 47 last = strlen(largebuf) - 1; 48 if (last >= 0 && largebuf[last] == '\n') { 49 ungetc('\n', fp); 50 largebuf[last] = ' '; 51 } 52 fputs(largebuf, tf); 53 putc('\n', tf); 54 break; 55 case 'f' : 56 FlushShow(0);MoveTo();DoMove(); 57 if (fscanf(fp, "%s", largebuf) == 1) { 58 char *nl = (char *) index(largebuf, '\n'); 59 if (nl) *nl = '\0'; 60 includefile(largebuf); 61 } else 62 fprintf(stderr, "warning - include cmd w/o path.\n"); 63 break; 64 } 65 } 66 break; 67#endif 68. 694a 70# define XMOD 71. 72w psdit.c.new 73q 74