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

Diff for /src/usr.bin/sort/file.c between version 1.2 and 1.3

version 1.2, 2015/03/17 17:49:27 version 1.3, 2015/03/20 00:26:38
Line 162 
Line 162 
 }  }
   
 /*  /*
  * Read zero-terminated line from a file  
  */  
 char *  
 read_file0_line(struct file0_reader *f0r)  
 {  
         size_t pos = 0;  
         int c;  
   
         if (f0r->f == NULL || feof(f0r->f))  
                 return NULL;  
   
         if (f0r->current_line && f0r->current_sz > 0)  
                 f0r->current_line[0] = 0;  
   
         while (!feof(f0r->f)) {  
                 c = fgetc(f0r->f);  
                 if (feof(f0r->f) || c == EOF)  
                         break;  
                 if ((pos + 1) >= f0r->current_sz) {  
                         f0r->current_line = sort_reallocarray(f0r->current_line,  
                             f0r->current_sz + 2, 2);  
                         f0r->current_sz = (f0r->current_sz + 2) * 2;  
                 }  
                 f0r->current_line[pos] = (char)c;  
                 if (c == 0)  
                         break;  
                 else  
                         f0r->current_line[pos + 1] = 0;  
                 ++pos;  
         }  
   
         return f0r->current_line;  
 }  
   
 /*  
  * Generate new temporary file name   * Generate new temporary file name
  */   */
 char *  char *

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3