version 1.110, 2009/02/25 23:16:20 |
version 1.111, 2010/07/23 21:46:05 |
|
|
|
|
rcsdate = givendate = -1; |
rcsdate = givendate = -1; |
if (date != NULL) |
if (date != NULL) |
givendate = rcs_date_parse(date); |
givendate = date_parse(date); |
|
|
if (file->rf_ndelta == 0 && !(flags & QUIET)) |
if (file->rf_ndelta == 0 && !(flags & QUIET)) |
(void)fprintf(stderr, |
(void)fprintf(stderr, |
|
|
TAILQ_FOREACH(rdp, &file->rf_delta, rd_list) { |
TAILQ_FOREACH(rdp, &file->rf_delta, rd_list) { |
if (date != NULL) { |
if (date != NULL) { |
fdate = asctime(&rdp->rd_date); |
fdate = asctime(&rdp->rd_date); |
rcsdate = rcs_date_parse(fdate); |
rcsdate = date_parse(fdate); |
if (givendate <= rcsdate) |
if (givendate <= rcsdate) |
continue; |
continue; |
} |
} |
|
|
return (-1); |
return (-1); |
} |
} |
} else { |
} else { |
bp = rcs_buf_alloc(1, 0); |
bp = buf_alloc(1, 0); |
} |
} |
|
|
/* |
/* |
|
|
} |
} |
|
|
if (flags & PIPEOUT) |
if (flags & PIPEOUT) |
rcs_buf_write_fd(bp, STDOUT_FILENO); |
buf_write_fd(bp, STDOUT_FILENO); |
else { |
else { |
(void)unlink(dst); |
(void)unlink(dst); |
|
|
if ((fd = open(dst, O_WRONLY|O_CREAT|O_TRUNC, mode)) < 0) |
if ((fd = open(dst, O_WRONLY|O_CREAT|O_TRUNC, mode)) < 0) |
err(1, "%s", dst); |
err(1, "%s", dst); |
|
|
if (rcs_buf_write_fd(bp, fd) < 0) { |
if (buf_write_fd(bp, fd) < 0) { |
warnx("failed to write revision to file"); |
warnx("failed to write revision to file"); |
rcs_buf_free(bp); |
buf_free(bp); |
(void)close(fd); |
(void)close(fd); |
return (-1); |
return (-1); |
} |
} |
|
|
(void)close(fd); |
(void)close(fd); |
} |
} |
|
|
rcs_buf_free(bp); |
buf_free(bp); |
|
|
return (0); |
return (0); |
} |
} |
|
|
} |
} |
|
|
(void)xasprintf(&tempfile, "%s/diff.XXXXXXXXXX", rcs_tmpdir); |
(void)xasprintf(&tempfile, "%s/diff.XXXXXXXXXX", rcs_tmpdir); |
rcs_buf_write_stmp(bp, tempfile); |
buf_write_stmp(bp, tempfile); |
rcs_buf_empty(bp); |
buf_empty(bp); |
|
|
diff_format = D_RCSDIFF; |
diff_format = D_RCSDIFF; |
ret = diffreg(dst, tempfile, bp, D_FORCEASCII); |
ret = diffreg(dst, tempfile, bp, D_FORCEASCII); |
|
|
rcs_buf_free(bp); |
buf_free(bp); |
unlink(tempfile); |
unlink(tempfile); |
xfree(tempfile); |
xfree(tempfile); |
|
|