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

Diff for /src/usr.bin/rcs/diff3.c between version 1.9 and 1.10

version 1.9, 2006/05/15 06:58:03 version 1.10, 2006/06/03 03:05:10
Line 160 
Line 160 
 merge_diff3(char **av, int flags)  merge_diff3(char **av, int flags)
 {  {
         int argc;          int argc;
         char *data, *patch;  
         char *argv[5], *dp13, *dp23, *path1, *path2, *path3;          char *argv[5], *dp13, *dp23, *path1, *path2, *path3;
         BUF *b1, *b2, *b3, *d1, *d2, *diffb;          BUF *b1, *b2, *b3, *d1, *d2, *diffb;
   
Line 226 
Line 225 
         rcs_buf_putc(diffb, '\0');          rcs_buf_putc(diffb, '\0');
         rcs_buf_putc(b1, '\0');          rcs_buf_putc(b1, '\0');
   
         patch = rcs_buf_release(diffb);          if ((diffb = rcs_patchfile(b1, diffb, ed_patch_lines)) == NULL)
         data = rcs_buf_release(b1);  
         diffb = b1 = NULL;  
   
         if ((diffb = rcs_patchfile(data, patch, ed_patch_lines)) == NULL)  
                 goto out;                  goto out;
   
         if (!(flags & QUIET) && diff3_conflicts != 0)          if (!(flags & QUIET) && diff3_conflicts != 0)
                 warnx("warning: overlaps or other problems during merge");                  warnx("warning: overlaps or other problems during merge");
   
         xfree(data);  
         xfree(patch);  
 out:  out:
         if (b1 != NULL)  
                 rcs_buf_free(b1);  
         if (b2 != NULL)          if (b2 != NULL)
                 rcs_buf_free(b2);                  rcs_buf_free(b2);
         if (b3 != NULL)          if (b3 != NULL)
Line 274 
Line 265 
 rcs_diff3(RCSFILE *rf, char *workfile, RCSNUM *rev1, RCSNUM *rev2, int verbose)  rcs_diff3(RCSFILE *rf, char *workfile, RCSNUM *rev1, RCSNUM *rev2, int verbose)
 {  {
         int argc;          int argc;
         char *data, *patch;  
         char *argv[5], r1[16], r2[16];          char *argv[5], r1[16], r2[16];
         char *dp13, *dp23, *path1, *path2, *path3;          char *dp13, *dp23, *path1, *path2, *path3;
         BUF *b1, *b2, *b3, *d1, *d2, *diffb;          BUF *b1, *b2, *b3, *d1, *d2, *diffb;
Line 350 
Line 340 
         rcs_buf_putc(diffb, '\0');          rcs_buf_putc(diffb, '\0');
         rcs_buf_putc(b1, '\0');          rcs_buf_putc(b1, '\0');
   
         patch = rcs_buf_release(diffb);          if ((diffb = rcs_patchfile(b1, diffb, ed_patch_lines)) == NULL)
         data = rcs_buf_release(b1);  
         diffb = b1 = NULL;  
   
         if ((diffb = rcs_patchfile(data, patch, ed_patch_lines)) == NULL)  
                 goto out;                  goto out;
   
         if (verbose == 1 && diff3_conflicts != 0)          if (verbose == 1 && diff3_conflicts != 0)
                 warnx("warning: overlaps or other problems during merge");                  warnx("warning: overlaps or other problems during merge");
   
         xfree(data);  
         xfree(patch);  
   
 out:  out:
         if (b1 != NULL)  
                 rcs_buf_free(b1);  
         if (b2 != NULL)          if (b2 != NULL)
                 rcs_buf_free(b2);                  rcs_buf_free(b2);
         if (b3 != NULL)          if (b3 != NULL)

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10