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

Diff for /src/usr.bin/patch/inp.c between version 1.26 and 1.27

version 1.26, 2003/08/10 21:28:48 version 1.27, 2003/08/12 21:13:10
Line 307 
Line 307 
 plan_b(const char *filename)  plan_b(const char *filename)
 {  {
         FILE    *ifp;          FILE    *ifp;
         int     i = 0, maxlen = 1;          int     i = 0, j, maxlen = 1;
           char    *p;
         bool    found_revision = (revision == NULL);          bool    found_revision = (revision == NULL);
   
         using_plan_a = false;          using_plan_a = false;
Line 322 
Line 323 
                 if ((i = strlen(buf)) > maxlen)                  if ((i = strlen(buf)) > maxlen)
                         maxlen = i;     /* find longest line */                          maxlen = i;     /* find longest line */
         }          }
           last_line_missing_eol = i > 0 && buf[i - 1] != '\n';
           if (last_line_missing_eol && maxlen == i)
                   maxlen++;
   
         if (revision != NULL) {          if (revision != NULL) {
                 if (!found_revision) {                  if (!found_revision) {
                         if (force) {                          if (force) {
Line 354 
Line 359 
         if (tibuf[1] == NULL)          if (tibuf[1] == NULL)
                 fatal("out of memory\n");                  fatal("out of memory\n");
         for (i = 1;; i++) {          for (i = 1;; i++) {
                 if (!(i % lines_per_buf))       /* new block */                  p = tibuf[0] + maxlen * (i % lines_per_buf);
                   if (i % lines_per_buf == 0)     /* new block */
                         if (write(tifd, tibuf[0], BUFFERSIZE) < BUFFERSIZE)                          if (write(tifd, tibuf[0], BUFFERSIZE) < BUFFERSIZE)
                                 pfatal("can't write temp file");                                  pfatal("can't write temp file");
                 if (fgets(tibuf[0] + maxlen * (i % lines_per_buf),                  if (fgets(p, maxlen + 1, ifp) == NULL) {
                     maxlen + 1, ifp) == NULL) {  
                         input_lines = i - 1;                          input_lines = i - 1;
                         if (i % lines_per_buf)                          if (i % lines_per_buf != 0)
                                 if (write(tifd, tibuf[0], BUFFERSIZE) < BUFFERSIZE)                                  if (write(tifd, tibuf[0], BUFFERSIZE) < BUFFERSIZE)
                                         pfatal("can't write temp file");                                          pfatal("can't write temp file");
                         break;                          break;
                 }                  }
                   j = strlen(p);
                   /* These are '\n' terminated strings, so no need to add a NUL */
                   if (j == 0 || p[j - 1] != '\n')
                           p[j] = '\n';
         }          }
         fclose(ifp);          fclose(ifp);
         close(tifd);          close(tifd);

Legend:
Removed from v.1.26  
changed lines
  Added in v.1.27