version 1.68, 2005/12/01 20:36:30 |
version 1.69, 2005/12/01 23:02:27 |
|
|
RCSNUM *r1, *r2; |
RCSNUM *r1, *r2; |
RCSFILE *rf; |
RCSFILE *rf; |
struct cvsroot *root; |
struct cvsroot *root; |
|
struct timeval tv[2], tv2[2]; |
|
|
|
memset(&tv, 0, sizeof(tv)); |
|
memset(&tv2, 0, sizeof(tv2)); |
|
|
rf = NULL; |
rf = NULL; |
root = CVS_DIR_ROOT(cf); |
root = CVS_DIR_ROOT(cf); |
repo = CVS_DIR_REPO(cf); |
repo = CVS_DIR_REPO(cf); |
|
|
rcs_close(rf); |
rcs_close(rf); |
return (CVS_EX_DATA); |
return (CVS_EX_DATA); |
} |
} |
|
tv[0].tv_sec = (long)rcs_rev_getdate(rf, r1); |
|
tv[1].tv_sec = tv[0].tv_sec; |
|
|
if (r1 != cf->cf_lrev) |
if (r1 != cf->cf_lrev) |
rcsnum_free(r1); |
rcsnum_free(r1); |
|
|
cvs_buf_free(b1); |
cvs_buf_free(b1); |
return (CVS_EX_DATA); |
return (CVS_EX_DATA); |
} |
} |
|
tv2[0].tv_sec = (long)rcs_rev_getdate(rf, r2); |
|
tv2[1].tv_sec = tv2[0].tv_sec; |
|
|
cvs_printf("%s", diffargs); |
cvs_printf("%s", diffargs); |
cvs_printf(" -r%s", buf); |
cvs_printf(" -r%s", buf); |
|
|
return (CVS_EX_DATA); |
return (CVS_EX_DATA); |
} |
} |
cvs_buf_free(b1); |
cvs_buf_free(b1); |
|
if (utimes(path_tmp1, (const struct timeval *)&tv) < 0) |
|
cvs_log(LP_ERRNO, "error setting utimes"); |
|
|
strlcpy(path_tmp2, cvs_tmpdir, sizeof(path_tmp2)); |
strlcpy(path_tmp2, cvs_tmpdir, sizeof(path_tmp2)); |
strlcat(path_tmp2, "/diff2.XXXXXXXXXX", sizeof(path_tmp2)); |
strlcat(path_tmp2, "/diff2.XXXXXXXXXX", sizeof(path_tmp2)); |
|
|
return (CVS_EX_DATA); |
return (CVS_EX_DATA); |
} |
} |
cvs_buf_free(b2); |
cvs_buf_free(b2); |
|
if (utimes(path_tmp2, (const struct timeval *)&tv2) < 0) |
|
cvs_log(LP_ERRNO, "error setting utimes"); |
|
|
cvs_diffreg(path_tmp1, path_tmp2, NULL); |
cvs_diffreg(path_tmp1, path_tmp2, NULL); |
(void)unlink(path_tmp1); |
(void)unlink(path_tmp1); |
|
|
goto closem; |
goto closem; |
} |
} |
|
|
|
if (stat(file1, &stb1) < 0) { |
|
cvs_log(LP_ERRNO, "%s", file1); |
|
goto closem; |
|
} |
|
if (stat(file2, &stb2) < 0) { |
|
cvs_log(LP_ERRNO, "%s", file2); |
|
goto closem; |
|
} |
switch (files_differ(f1, f2)) { |
switch (files_differ(f1, f2)) { |
case 0: |
case 0: |
goto closem; |
goto closem; |