version 1.40, 2006/11/27 16:04:10 |
version 1.41, 2006/12/04 09:51:21 |
|
|
cvs_server_modified(char *data) |
cvs_server_modified(char *data) |
{ |
{ |
BUF *bp; |
BUF *bp; |
int fd, l; |
int fd; |
size_t flen; |
size_t flen; |
mode_t fmode; |
mode_t fmode; |
const char *errstr; |
const char *errstr; |
|
|
bp = cvs_remote_receive_file(flen); |
bp = cvs_remote_receive_file(flen); |
|
|
fpath = xmalloc(MAXPATHLEN); |
fpath = xmalloc(MAXPATHLEN); |
l = snprintf(fpath, MAXPATHLEN, "%s/%s", server_currentdir, data); |
if (cvs_path_cat(server_currentdir, data, fpath, MAXPATHLEN) >= |
if (l == -1 || l >= MAXPATHLEN) |
MAXPATHLEN) |
fatal("cvs_server_modified: overflow"); |
fatal("cvs_server_modified: truncation"); |
|
|
if ((fd = open(fpath, O_WRONLY | O_CREAT | O_TRUNC)) == -1) |
if ((fd = open(fpath, O_WRONLY | O_CREAT | O_TRUNC)) == -1) |
fatal("cvs_server_modified: %s: %s", fpath, strerror(errno)); |
fatal("cvs_server_modified: %s: %s", fpath, strerror(errno)); |
|
|
void |
void |
cvs_server_unchanged(char *data) |
cvs_server_unchanged(char *data) |
{ |
{ |
int l, fd; |
int fd; |
char *fpath; |
char *fpath; |
CVSENTRIES *entlist; |
CVSENTRIES *entlist; |
struct cvs_ent *ent; |
struct cvs_ent *ent; |
struct timeval tv[2]; |
struct timeval tv[2]; |
|
|
fpath = xmalloc(MAXPATHLEN); |
fpath = xmalloc(MAXPATHLEN); |
l = snprintf(fpath, MAXPATHLEN, "%s/%s", server_currentdir, data); |
if (cvs_path_cat(server_currentdir, data, fpath, MAXPATHLEN) >= |
if (l == -1 || l >= MAXPATHLEN) |
MAXPATHLEN) |
fatal("cvs_server_unchanged: overflow"); |
fatal("cvs_server_unchanged: truncation"); |
|
|
if ((fd = open(fpath, O_RDWR | O_CREAT | O_TRUNC)) == -1) |
if ((fd = open(fpath, O_RDWR | O_CREAT | O_TRUNC)) == -1) |
fatal("cvs_server_unchanged: %s: %s", fpath, strerror(errno)); |
fatal("cvs_server_unchanged: %s: %s", fpath, strerror(errno)); |