version 1.29, 2005/11/28 08:49:25 |
version 1.30, 2005/12/03 01:02:09 |
|
|
size_t len; |
size_t len; |
int l; |
int l; |
time_t stamp; |
time_t stamp; |
|
char *fcont; |
char fpath[MAXPATHLEN], rpath[MAXPATHLEN], repo[MAXPATHLEN]; |
char fpath[MAXPATHLEN], rpath[MAXPATHLEN], repo[MAXPATHLEN]; |
const char *comment; |
const char *comment; |
struct stat fst; |
struct stat fst; |
|
|
struct cvsroot *root; |
struct cvsroot *root; |
RCSFILE *rf; |
RCSFILE *rf; |
RCSNUM *rev; |
RCSNUM *rev; |
|
BUF *bp; |
|
|
root = CVS_DIR_ROOT(cf); |
root = CVS_DIR_ROOT(cf); |
|
|
|
|
if (rcs_sym_add(rf, vendor, imp_brnum) < 0) { |
if (rcs_sym_add(rf, vendor, imp_brnum) < 0) { |
cvs_log(LP_ERR, "failed to set RCS symbol: %s", |
cvs_log(LP_ERR, "failed to set RCS symbol: %s", |
strerror(rcs_errno)); |
strerror(rcs_errno)); |
|
rcs_close(rf); |
|
(void)unlink(rpath); |
|
return (CVS_EX_DATA); |
|
} |
|
|
|
if ((bp = cvs_buf_load(fpath, BUF_AUTOEXT)) == NULL) { |
|
rcs_close(rf); |
|
(void)unlink(rpath); |
|
return (CVS_EX_DATA); |
|
} |
|
|
|
if (cvs_buf_putc(bp, '\0') < 0) { |
|
rcs_close(rf); |
|
(void)unlink(rpath); |
|
return (CVS_EX_DATA); |
|
} |
|
|
|
fcont = cvs_buf_release(bp); |
|
|
|
if (rcs_deltatext_set(rf, rev, fcont) < 0) { |
rcs_close(rf); |
rcs_close(rf); |
(void)unlink(rpath); |
(void)unlink(rpath); |
return (CVS_EX_DATA); |
return (CVS_EX_DATA); |