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

Diff for /src/usr.bin/cvs/util.c between version 1.114 and 1.115

version 1.114, 2007/09/02 11:40:03 version 1.115, 2007/09/04 19:07:04
Line 703 
Line 703 
         xfree(lines);          xfree(lines);
 }  }
   
 BUF *  
 cvs_patchfile(u_char *data, size_t dlen, u_char *patch, size_t plen,  
     int (*p)(struct cvs_lines *, struct cvs_lines *))  
 {  
         struct cvs_lines *dlines, *plines;  
         struct cvs_line *lp;  
         BUF *res;  
   
         if ((dlines = cvs_splitlines(data, dlen)) == NULL)  
                 return (NULL);  
   
         if ((plines = cvs_splitlines(patch, plen)) == NULL)  
                 return (NULL);  
   
         if (p(dlines, plines) < 0) {  
                 cvs_freelines(dlines);  
                 cvs_freelines(plines);  
                 return (NULL);  
         }  
   
         res = cvs_buf_alloc(1024, BUF_AUTOEXT);  
         TAILQ_FOREACH(lp, &dlines->l_lines, l_list) {  
                 if (lp->l_line == NULL)  
                         continue;  
                 cvs_buf_append(res, lp->l_line, lp->l_len);  
         }  
   
         cvs_freelines(dlines);  
         cvs_freelines(plines);  
         return (res);  
 }  
   
 /*  /*
  * cvs_strsplit()   * cvs_strsplit()
  *   *

Legend:
Removed from v.1.114  
changed lines
  Added in v.1.115