cvs-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Cvs-cvs] ccvs/src ChangeLog diff.c [signed-commits3]


From: Derek Robert Price
Subject: [Cvs-cvs] ccvs/src ChangeLog diff.c [signed-commits3]
Date: Thu, 19 Jan 2006 20:07:44 +0000

CVSROOT:        /cvsroot/cvs
Module name:    ccvs
Branch:         signed-commits3
Changes by:     Derek Robert Price <address@hidden>     06/01/19 20:07:43

Modified files:
        src            : ChangeLog diff.c 

Log message:
        * diff.c (diff_file_nodiff): Remove proto and move function before
        first invocation.  Return found revisions in args rather than globals.
        (diff_fileproc): Remove unused variables.  Use new diff_file_nodiff
        API.  Check for temp_checkout errors.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/cvs/ccvs/src/ChangeLog.diff?only_with_tag=signed-commits3&tr1=1.3328.2.38&tr2=1.3328.2.39&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/cvs/ccvs/src/diff.c.diff?only_with_tag=signed-commits3&tr1=1.116.6.5&tr2=1.116.6.6&r1=text&r2=text

Patches:
Index: ccvs/src/ChangeLog
diff -u ccvs/src/ChangeLog:1.3328.2.38 ccvs/src/ChangeLog:1.3328.2.39
--- ccvs/src/ChangeLog:1.3328.2.38      Thu Jan 19 19:39:40 2006
+++ ccvs/src/ChangeLog  Thu Jan 19 20:07:43 2006
@@ -1,5 +1,10 @@
 2006-01-19  Derek Price  <address@hidden>
 
+       * diff.c (diff_file_nodiff): Remove proto and move function before
+       first invocation.  Return found revisions in args rather than globals.
+       (diff_fileproc): Remove unused variables.  Use new diff_file_nodiff
+       API.  Check for temp_checkout errors.
+
        * diff.c (enum diff_file): Add DIFF_CLIENT.
        (diff): Send no content when possible.
        (diff_fileproc): Consolidate complex handling into a single call to
Index: ccvs/src/diff.c
diff -u ccvs/src/diff.c:1.116.6.5 ccvs/src/diff.c:1.116.6.6
--- ccvs/src/diff.c:1.116.6.5   Thu Jan 19 19:39:40 2006
+++ ccvs/src/diff.c     Thu Jan 19 20:07:43 2006
@@ -53,8 +53,6 @@
 static int diff_dirleaveproc (void *callerdat, const char *dir,
                               int err, const char *update_dir,
                               List *entries);
-static enum diff_file diff_file_nodiff (struct file_info *finfo, Vers_TS *vers,
-                                        enum diff_file, char **rev1_cache );
 static int diff_fileproc (void *callerdat, struct file_info *finfo);
 static void diff_mark_errors (int err);
 
@@ -66,7 +64,6 @@
 static char *diff_rev1, *diff_rev2;
 /* Command line dates, from -D option.  Malloc'd.  */
 static char *diff_date1, *diff_date2;
-static char *use_rev1, *use_rev2;
 static int have_rev1_label, have_rev2_label;
 
 /* Revision of the user file, if it is unchanged from something in the
@@ -494,6 +491,259 @@
 
 
 /*
+ * verify that a file is different
+ *
+ * INPUTS
+ *   finfo
+ *   vers
+ *   empty_file
+ *
+ * OUTPUTS
+ *   rev1_cache                Cache the contents of rev1 if we look it up.
+ */
+static enum diff_file
+diff_file_nodiff (struct file_info *finfo, Vers_TS *vers,
+                  enum diff_file empty_file, char **rev1_cache,
+                 char **use_rev1, char **use_rev2)
+{
+    Vers_TS *xvers;
+    int retcode;
+
+    TRACE (TRACE_FUNCTION, "diff_file_nodiff (%s, %d)",
+           finfo->fullname ? finfo->fullname : "(null)", empty_file);
+
+    /* free up any old use_rev* variables and reset 'em */
+    *use_rev1 = *use_rev2 = NULL;
+
+    if (diff_rev1 || diff_date1)
+    {
+       /* special handling for TAG_HEAD */
+       if (diff_rev1 && strcmp (diff_rev1, TAG_HEAD) == 0)
+       {
+           if (vers->vn_rcs != NULL && vers->srcfile != NULL)
+               *use_rev1 = RCS_branch_head (vers->srcfile, vers->vn_rcs);
+       }
+       else
+       {
+           xvers = Version_TS (finfo, NULL, diff_rev1, diff_date1, 1, 0);
+           if (xvers->vn_rcs != NULL)
+               *use_rev1 = xstrdup (xvers->vn_rcs);
+           freevers_ts (&xvers);
+       }
+    }
+    if (diff_rev2 || diff_date2)
+    {
+       /* special handling for TAG_HEAD */
+       if (diff_rev2 && strcmp (diff_rev2, TAG_HEAD) == 0)
+       {
+           if (vers->vn_rcs && vers->srcfile)
+               *use_rev2 = RCS_branch_head (vers->srcfile, vers->vn_rcs);
+       }
+       else
+       {
+           xvers = Version_TS (finfo, NULL, diff_rev2, diff_date2, 1, 0);
+           if (xvers->vn_rcs != NULL)
+               *use_rev2 = xstrdup (xvers->vn_rcs);
+           freevers_ts (&xvers);
+       }
+
+       if (!*use_rev1 || RCS_isdead (vers->srcfile, *use_rev1))
+       {
+           /* The first revision does not exist.  If EMPTY_FILES is
+               true, treat this as an added file.  Otherwise, warn
+               about the missing tag.  */
+           if (!*use_rev2 || RCS_isdead (vers->srcfile, *use_rev2))
+               /* At least in the case where DIFF_REV1 and DIFF_REV2
+                * are both numeric (and non-existant (NULL), as opposed to
+                * dead?), we should be returning some kind of error (see
+                * basicb-8a0 in testsuite).  The symbolic case may be more
+                * complicated.
+                */
+               return DIFF_SAME;
+           if (empty_files)
+               return DIFF_ADDED;
+           if (*use_rev1)
+           {
+               if (diff_rev1)
+               {
+                   error (0, 0,
+                      "Tag %s refers to a dead (removed) revision in file 
`%s'.",
+                      diff_rev1, finfo->fullname);
+               }
+               else
+               {
+                   error (0, 0,
+                      "Date %s refers to a dead (removed) revision in file 
`%s'.",
+                      diff_date1, finfo->fullname);
+               }
+               error (0, 0,
+                      "No comparison available.  Pass `-N' to `%s diff'?",
+                      program_name);
+           }
+           else if (diff_rev1)
+               error (0, 0, "tag %s is not in file %s", diff_rev1,
+                      finfo->fullname);
+           else
+               error (0, 0, "no revision for date %s in file %s",
+                      diff_date1, finfo->fullname);
+           return DIFF_ERROR;
+       }
+
+       assert (*use_rev1);
+       if (!*use_rev2 || RCS_isdead (vers->srcfile, *use_rev2))
+       {
+           /* The second revision does not exist.  If EMPTY_FILES is
+               true, treat this as a removed file.  Otherwise warn
+               about the missing tag.  */
+           if (empty_files)
+               return DIFF_REMOVED;
+           if (*use_rev2)
+           {
+               if (diff_rev2)
+               {
+                   error( 0, 0,
+                      "Tag %s refers to a dead (removed) revision in file 
`%s'.",
+                      diff_rev2, finfo->fullname );
+               }
+               else
+               {
+                   error( 0, 0,
+                      "Date %s refers to a dead (removed) revision in file 
`%s'.",
+                      diff_date2, finfo->fullname );
+               }
+               error( 0, 0,
+                      "No comparison available.  Pass `-N' to `%s diff'?",
+                      program_name );
+           }
+           else if (diff_rev2)
+               error (0, 0, "tag %s is not in file %s", diff_rev2,
+                      finfo->fullname);
+           else
+               error (0, 0, "no revision for date %s in file %s",
+                      diff_date2, finfo->fullname);
+           return DIFF_ERROR;
+       }
+       /* Now, see if we really need to do the diff.  We can't assume that the
+        * files are different when the revs are.
+        */
+       assert (*use_rev2);
+       if (!strcmp (*use_rev1, *use_rev2))
+           return DIFF_SAME;
+       /* else fall through and do the diff */
+    }
+
+    /* If we had a r1/d1 & r2/d2, then at this point we must have a C3P0...
+     * err...  ok, then both rev1 & rev2 must have resolved to an existing,
+     * live version due to if statement we just closed.
+     */
+    assert (!(diff_rev2 || diff_date2) || (*use_rev1 && *use_rev2));
+
+    if ((diff_rev1 || diff_date1) &&
+       (!*use_rev1 || RCS_isdead (vers->srcfile, *use_rev1)))
+    {
+       /* The first revision does not exist, and no second revision
+           was given.  */
+       if (empty_files)
+       {
+           if (empty_file == DIFF_REMOVED)
+               return DIFF_SAME;
+           if (user_file_rev && !*use_rev2)
+               *use_rev2 = xstrdup (user_file_rev);
+           return DIFF_ADDED;
+       }
+       if (*use_rev1)
+       {
+           if (diff_rev1)
+           {
+               error( 0, 0,
+                  "Tag %s refers to a dead (removed) revision in file `%s'.",
+                  diff_rev1, finfo->fullname );
+           }
+           else
+           {
+               error( 0, 0,
+                  "Date %s refers to a dead (removed) revision in file `%s'.",
+                  diff_date1, finfo->fullname );
+           }
+           error( 0, 0,
+                  "No comparison available.  Pass `-N' to `%s diff'?",
+                  program_name );
+       }
+       else if ( diff_rev1 )
+           error( 0, 0, "tag %s is not in file %s", diff_rev1,
+                  finfo->fullname );
+       else
+           error( 0, 0, "no revision for date %s in file %s",
+                  diff_date1, finfo->fullname );
+       return DIFF_ERROR;
+    }
+
+    assert (!diff_rev1 || *use_rev1);
+
+    if (user_file_rev)
+    {
+        /* drop user_file_rev into first unused use_rev */
+        if (!*use_rev1) 
+           *use_rev1 = xstrdup (user_file_rev);
+       else if (!*use_rev2)
+           *use_rev2 = xstrdup (user_file_rev);
+       /* and if not, it wasn't needed anyhow */
+       user_file_rev = NULL;
+    }
+
+    /* Now, see if we really need to do the diff.  We can't assume that the
+     * files are different when the revs are.
+     */
+    if (*use_rev1 && *use_rev2) 
+    {
+       if (!strcmp (*use_rev1, *use_rev2))
+           return DIFF_SAME;
+       /* Fall through and do the diff. */
+    }
+    /* Don't want to do the timestamp check with both *USE_REV1 & *USE_REV2 
set.
+     * The timestamp check is just for the default case of diffing the
+     * workspace file against its base revision.
+     */
+    else if (!*use_rev1
+             || (vers->vn_user
+                 && !strcmp (*use_rev1, vers->vn_user)))
+    {
+       if ((empty_file == DIFF_DIFFERENT || empty_file == DIFF_CLIENT)
+           && vers->ts_user != NULL
+           && strcmp (vers->ts_rcs, vers->ts_user) == 0
+           && (!(*options) || strcmp (options, vers->options) == 0))
+       {
+           return DIFF_SAME;
+       }
+       if (!*use_rev1
+           && (vers->vn_user[0] != '0' || vers->vn_user[1] != '\0'))
+       {
+           if (vers->vn_user[0] == '-')
+               *use_rev1 = xstrdup (vers->vn_user + 1);
+           else
+               *use_rev1 = xstrdup (vers->vn_user);
+       }
+    }
+
+    /* If we already know that the file is being added or removed,
+       then we don't want to do an actual file comparison here.  */
+    if (empty_file != DIFF_DIFFERENT)
+       return empty_file;
+
+    /*
+     * Run a quick cmp to see if we should bother with a full diff.
+     */
+
+    retcode = RCS_cmp_file (vers->srcfile, *use_rev1, rev1_cache,
+                            *use_rev2, *options ? options : vers->options,
+                           finfo->file);
+
+    return retcode == 0 ? DIFF_SAME : DIFF_DIFFERENT;
+}
+
+
+
+/*
  * Do a file diff
  */
 /* ARGSUSED */
@@ -504,12 +754,10 @@
     Vers_TS *vers;
     enum diff_file empty_file = server_use_bases ()
                                ? DIFF_CLIENT : DIFF_DIFFERENT;
-    char *tmp = NULL;
-    char *tocvsPath = NULL;
-    char *fname = NULL;
     char *label1;
     char *label2;
     char *rev1_cache = NULL;
+    char *use_rev1 = NULL, *use_rev2 = NULL;
     const char *f1 = NULL, *f2 = NULL;
 
     user_file_rev = 0;
@@ -661,7 +909,8 @@
     }
 
     
-    empty_file = diff_file_nodiff (finfo, vers, empty_file, &rev1_cache);
+    empty_file = diff_file_nodiff (finfo, vers, empty_file, &rev1_cache,
+                                  &use_rev1, &use_rev2);
     if (empty_file == DIFF_SAME)
     {
        /* In the server case, would be nice to send a "Checked-in"
@@ -682,23 +931,6 @@
     cvs_output (finfo->fullname, 0);
     cvs_output ("\n", 1);
 
-    if (!server_use_bases ())
-    {
-       tocvsPath = wrap_tocvs_process_file (finfo->file);
-       if (tocvsPath)
-       {
-           /* Backup the current version of the file to CVS/,,filename */
-           fname = Xasprintf (fname, "%s/%s%s", CVSADM, CVSPREFIX,
-                              finfo->file);
-           if (unlink_file_dir (fname) < 0)
-               if (!existence_error (errno))
-                   error (1, errno, "cannot remove %s", fname);
-           rename_file (finfo->file, fname);
-           /* Copy the wrapped file to the current directory then go to work */
-           copy_file (tocvsPath, finfo->file);
-       }
-    }
-
     /* Set up file labels appropriate for compatibility with the Larry Wall
      * implementation of patch if the user didn't specify.  This is irrelevant
      * according to the POSIX.2 specification.
@@ -753,6 +985,8 @@
                            diff_rev1 && !isdigit (diff_rev1[0])
                            ? diff_rev1 : vers->tag,
                            vers->options, *options ? options : vers->options);
+       if (!f1)
+           goto out;
     }
 
     if (empty_file == DIFF_REMOVED)
@@ -767,6 +1001,8 @@
                            diff_rev2 && !isdigit (diff_rev2[0])
                            ? diff_rev2 : NULL,
                            vers->options, *options ? options : vers->options);
+       if (!f2)
+           goto out;
     }
     else
        f2 = finfo->file;
@@ -794,25 +1030,13 @@
     }
 
 out:
-    if (tocvsPath != NULL)
-    {
-       if (unlink_file_dir (finfo->file) < 0)
-           if (!existence_error (errno))
-               error (1, errno, "cannot remove %s", finfo->file);
-
-       rename_file (fname, finfo->file);
-       if (unlink_file (tocvsPath) < 0)
-           error (1, errno, "cannot remove %s", tocvsPath);
-       free (fname);
-    }
-
     if (empty_file != DIFF_ADDED && f1)
     {
        if (CVS_UNLINK (f1) < 0)
            error (0, errno, "Failed to remove temp file `%s'", f1);
        free ((char *)f1);
     }
-    if (empty_file == DIFF_REMOVED && use_rev2 && f2)
+    if (empty_file != DIFF_REMOVED && use_rev2 && f2)
     {
        if (CVS_UNLINK (f2) < 0)
            error (0, errno, "Failed to remove temp file `%s'", f2);
@@ -822,12 +1046,6 @@
     /* Call CVS_UNLINK() rather than unlink_file() below to avoid the check
      * for noexec.
      */
-    if (tmp)
-    {
-       if (CVS_UNLINK (tmp) < 0)
-           error (0, errno, "cannot remove %s", tmp);
-       free (tmp);
-    }
     if (rev1_cache)
     {
        if (CVS_UNLINK (rev1_cache) < 0)
@@ -900,259 +1118,3 @@
 {
     return diff_errors;
 }
-
-
-
-/*
- * verify that a file is different
- *
- * INPUTS
- *   finfo
- *   vers
- *   empty_file
- *
- * OUTPUTS
- *   rev1_cache                Cache the contents of rev1 if we look it up.
- */
-static enum diff_file
-diff_file_nodiff (struct file_info *finfo, Vers_TS *vers,
-                  enum diff_file empty_file, char **rev1_cache)
-{
-    Vers_TS *xvers;
-    int retcode;
-
-    TRACE (TRACE_FUNCTION, "diff_file_nodiff (%s, %d)",
-           finfo->fullname ? finfo->fullname : "(null)", empty_file);
-
-    /* free up any old use_rev* variables and reset 'em */
-    if (use_rev1)
-       free (use_rev1);
-    if (use_rev2)
-       free (use_rev2);
-    use_rev1 = use_rev2 = NULL;
-
-    if (diff_rev1 || diff_date1)
-    {
-       /* special handling for TAG_HEAD */
-       if (diff_rev1 && strcmp (diff_rev1, TAG_HEAD) == 0)
-       {
-           if (vers->vn_rcs != NULL && vers->srcfile != NULL)
-               use_rev1 = RCS_branch_head (vers->srcfile, vers->vn_rcs);
-       }
-       else
-       {
-           xvers = Version_TS (finfo, NULL, diff_rev1, diff_date1, 1, 0);
-           if (xvers->vn_rcs != NULL)
-               use_rev1 = xstrdup (xvers->vn_rcs);
-           freevers_ts (&xvers);
-       }
-    }
-    if (diff_rev2 || diff_date2)
-    {
-       /* special handling for TAG_HEAD */
-       if (diff_rev2 && strcmp (diff_rev2, TAG_HEAD) == 0)
-       {
-           if (vers->vn_rcs && vers->srcfile)
-               use_rev2 = RCS_branch_head (vers->srcfile, vers->vn_rcs);
-       }
-       else
-       {
-           xvers = Version_TS (finfo, NULL, diff_rev2, diff_date2, 1, 0);
-           if (xvers->vn_rcs != NULL)
-               use_rev2 = xstrdup (xvers->vn_rcs);
-           freevers_ts (&xvers);
-       }
-
-       if (use_rev1 == NULL || RCS_isdead (vers->srcfile, use_rev1))
-       {
-           /* The first revision does not exist.  If EMPTY_FILES is
-               true, treat this as an added file.  Otherwise, warn
-               about the missing tag.  */
-           if (use_rev2 == NULL || RCS_isdead (vers->srcfile, use_rev2))
-               /* At least in the case where DIFF_REV1 and DIFF_REV2
-                * are both numeric (and non-existant (NULL), as opposed to
-                * dead?), we should be returning some kind of error (see
-                * basicb-8a0 in testsuite).  The symbolic case may be more
-                * complicated.
-                */
-               return DIFF_SAME;
-           if (empty_files)
-               return DIFF_ADDED;
-           if (use_rev1 != NULL)
-           {
-               if (diff_rev1)
-               {
-                   error (0, 0,
-                      "Tag %s refers to a dead (removed) revision in file 
`%s'.",
-                      diff_rev1, finfo->fullname);
-               }
-               else
-               {
-                   error (0, 0,
-                      "Date %s refers to a dead (removed) revision in file 
`%s'.",
-                      diff_date1, finfo->fullname);
-               }
-               error (0, 0,
-                      "No comparison available.  Pass `-N' to `%s diff'?",
-                      program_name);
-           }
-           else if (diff_rev1)
-               error (0, 0, "tag %s is not in file %s", diff_rev1,
-                      finfo->fullname);
-           else
-               error (0, 0, "no revision for date %s in file %s",
-                      diff_date1, finfo->fullname);
-           return DIFF_ERROR;
-       }
-
-       assert( use_rev1 != NULL );
-       if( use_rev2 == NULL || RCS_isdead( vers->srcfile, use_rev2 ) )
-       {
-           /* The second revision does not exist.  If EMPTY_FILES is
-               true, treat this as a removed file.  Otherwise warn
-               about the missing tag.  */
-           if (empty_files)
-               return DIFF_REMOVED;
-           if( use_rev2 != NULL )
-           {
-               if (diff_rev2)
-               {
-                   error( 0, 0,
-                      "Tag %s refers to a dead (removed) revision in file 
`%s'.",
-                      diff_rev2, finfo->fullname );
-               }
-               else
-               {
-                   error( 0, 0,
-                      "Date %s refers to a dead (removed) revision in file 
`%s'.",
-                      diff_date2, finfo->fullname );
-               }
-               error( 0, 0,
-                      "No comparison available.  Pass `-N' to `%s diff'?",
-                      program_name );
-           }
-           else if (diff_rev2)
-               error (0, 0, "tag %s is not in file %s", diff_rev2,
-                      finfo->fullname);
-           else
-               error (0, 0, "no revision for date %s in file %s",
-                      diff_date2, finfo->fullname);
-           return DIFF_ERROR;
-       }
-       /* Now, see if we really need to do the diff.  We can't assume that the
-        * files are different when the revs are.
-        */
-       assert( use_rev2 != NULL );
-       if( strcmp (use_rev1, use_rev2) == 0 )
-           return DIFF_SAME;
-       /* else fall through and do the diff */
-    }
-
-    /* If we had a r1/d1 & r2/d2, then at this point we must have a C3P0...
-     * err...  ok, then both rev1 & rev2 must have resolved to an existing,
-     * live version due to if statement we just closed.
-     */
-    assert (!(diff_rev2 || diff_date2) || (use_rev1 && use_rev2));
-
-    if ((diff_rev1 || diff_date1) &&
-       (use_rev1 == NULL || RCS_isdead (vers->srcfile, use_rev1)))
-    {
-       /* The first revision does not exist, and no second revision
-           was given.  */
-       if (empty_files)
-       {
-           if (empty_file == DIFF_REMOVED)
-               return DIFF_SAME;
-           if( user_file_rev && use_rev2 == NULL )
-               use_rev2 = xstrdup( user_file_rev );
-           return DIFF_ADDED;
-       }
-       if( use_rev1 != NULL )
-       {
-           if (diff_rev1)
-           {
-               error( 0, 0,
-                  "Tag %s refers to a dead (removed) revision in file `%s'.",
-                  diff_rev1, finfo->fullname );
-           }
-           else
-           {
-               error( 0, 0,
-                  "Date %s refers to a dead (removed) revision in file `%s'.",
-                  diff_date1, finfo->fullname );
-           }
-           error( 0, 0,
-                  "No comparison available.  Pass `-N' to `%s diff'?",
-                  program_name );
-       }
-       else if ( diff_rev1 )
-           error( 0, 0, "tag %s is not in file %s", diff_rev1,
-                  finfo->fullname );
-       else
-           error( 0, 0, "no revision for date %s in file %s",
-                  diff_date1, finfo->fullname );
-       return DIFF_ERROR;
-    }
-
-    assert( !diff_rev1 || use_rev1 );
-
-    if (user_file_rev)
-    {
-        /* drop user_file_rev into first unused use_rev */
-        if (!use_rev1) 
-           use_rev1 = xstrdup (user_file_rev);
-       else if (!use_rev2)
-           use_rev2 = xstrdup (user_file_rev);
-       /* and if not, it wasn't needed anyhow */
-       user_file_rev = NULL;
-    }
-
-    /* Now, see if we really need to do the diff.  We can't assume that the
-     * files are different when the revs are.
-     */
-    if( use_rev1 && use_rev2) 
-    {
-       if (strcmp (use_rev1, use_rev2) == 0)
-           return DIFF_SAME;
-       /* Fall through and do the diff. */
-    }
-    /* Don't want to do the timestamp check with both use_rev1 & use_rev2 set.
-     * The timestamp check is just for the default case of diffing the
-     * workspace file against its base revision.
-     */
-    else if( use_rev1 == NULL
-             || ( vers->vn_user != NULL
-                  && strcmp( use_rev1, vers->vn_user ) == 0 ) )
-    {
-       if ((empty_file == DIFF_DIFFERENT || empty_file == DIFF_CLIENT)
-           && vers->ts_user != NULL
-           && strcmp (vers->ts_rcs, vers->ts_user) == 0
-           && (!(*options) || strcmp (options, vers->options) == 0))
-       {
-           return DIFF_SAME;
-       }
-       if (use_rev1 == NULL
-           && (vers->vn_user[0] != '0' || vers->vn_user[1] != '\0'))
-       {
-           if (vers->vn_user[0] == '-')
-               use_rev1 = xstrdup (vers->vn_user + 1);
-           else
-               use_rev1 = xstrdup (vers->vn_user);
-       }
-    }
-
-    /* If we already know that the file is being added or removed,
-       then we don't want to do an actual file comparison here.  */
-    if (empty_file != DIFF_DIFFERENT)
-       return empty_file;
-
-    /*
-     * Run a quick cmp to see if we should bother with a full diff.
-     */
-
-    retcode = RCS_cmp_file( vers->srcfile, use_rev1, rev1_cache,
-                            use_rev2, *options ? options : vers->options,
-                           finfo->file );
-
-    return retcode == 0 ? DIFF_SAME : DIFF_DIFFERENT;
-}




reply via email to

[Prev in Thread] Current Thread [Next in Thread]