[BACK]Return to deroff.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / deroff

Diff for /src/usr.bin/deroff/deroff.c between version 1.17 and 1.18

version 1.17, 2023/03/08 04:43:10 version 1.18, 2023/09/27 21:06:33
Line 135 
Line 135 
   
 char chars[128];  /* SPECIAL, PUNCT, APOS, DIGIT, or LETTER */  char chars[128];  /* SPECIAL, PUNCT, APOS, DIGIT, or LETTER */
   
 char line[LINE_MAX];  size_t linesz;
   char *line;
 char *lp;  char *lp;
   
 int c;  int c;
Line 342 
Line 343 
         files[0] = infile;          files[0] = infile;
         filesp = &files[0];          filesp = &files[0];
   
           linesz = LINE_MAX;
           if ((line = malloc(linesz)) == NULL)
                   err(1, NULL);
   
         for (i = 'a'; i <= 'z'; ++i)          for (i = 'a'; i <= 'z'; ++i)
                 chars[i] = LETTER;                  chars[i] = LETTER;
         for (i = 'A'; i <= 'Z'; ++i)          for (i = 'A'; i <= 'Z'; ++i)
Line 477 
Line 482 
   
         line[0] = c;          line[0] = c;
         lp = line;          lp = line;
         while (lp - line < sizeof(line)) {          for (;;) {
                   if (lp - line == linesz - 1) {
                           char *newline = reallocarray(line, linesz, 2);
                           if (newline == NULL)
                                   err(1, NULL);
                           lp = newline + (lp - line);
                           line = newline;
                           linesz *= 2;
                   }
                 if (c == '\\') {                  if (c == '\\') {
                         *lp = ' ';                          *lp = ' ';
                         backsl();                          backsl();

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18