version 1.85, 2007/01/26 21:48:17 |
version 1.86, 2007/01/26 21:59:11 |
|
|
time_t rcstime; |
time_t rcstime; |
CVSENTRIES *ent; |
CVSENTRIES *ent; |
struct timeval tv[2]; |
struct timeval tv[2]; |
char *template, *p, *entry, rev[16], timebuf[64]; |
char template[MAXPATHLEN], *p, entry[CVS_ENT_MAXLINELEN], rev[16]; |
char kbuf[8], tbuf[32], stickytag[32]; |
char timebuf[64], kbuf[8], tbuf[32], stickytag[32]; |
|
|
rcsnum_tostr(rnum, rev, sizeof(rev)); |
rcsnum_tostr(rnum, rev, sizeof(rev)); |
|
|
|
|
"-k%s", cf->file_rcs->rf_expand); |
"-k%s", cf->file_rcs->rf_expand); |
} |
} |
|
|
entry = xmalloc(CVS_ENT_MAXLINELEN); |
|
l = snprintf(entry, CVS_ENT_MAXLINELEN, "/%s/%s/%s/%s/%s", |
l = snprintf(entry, CVS_ENT_MAXLINELEN, "/%s/%s/%s/%s/%s", |
cf->file_name, rev, timebuf, kbuf, stickytag); |
cf->file_name, rev, timebuf, kbuf, stickytag); |
|
|
|
|
cvs_remote_output(entry); |
cvs_remote_output(entry); |
|
|
if (!(co_flags & CO_COMMIT)) { |
if (!(co_flags & CO_COMMIT)) { |
(void)xasprintf(&template, |
l = snprintf(template, MAXPATHLEN, |
"%s/checkout.XXXXXXXXXX", cvs_tmpdir); |
"%s/checkout.XXXXXXXXXX", cvs_tmpdir); |
|
if (l == -1 || l >= (int)sizeof(template)) |
|
fatal("cvs_checkout_file: overflow"); |
|
|
/* XXX - fd race below */ |
/* XXX - fd race below */ |
rcs_rev_write_stmp(cf->file_rcs, rnum, template, 0); |
rcs_rev_write_stmp(cf->file_rcs, rnum, template, 0); |
cvs_remote_send_file(template); |
cvs_remote_send_file(template); |
cvs_worklist_run(&temp_files, cvs_worklist_unlink); |
cvs_worklist_run(&temp_files, cvs_worklist_unlink); |
xfree(template); |
|
} |
} |
|
|
if (p != NULL) |
if (p != NULL) |
*p = ','; |
*p = ','; |
} |
} |
|
|
xfree(entry); |
|
} |
} |