version 1.15, 2004/07/30 23:10:21 |
version 1.16, 2004/08/02 17:16:08 |
|
|
static int cvs_resp_mode (struct cvsroot *, int, char *); |
static int cvs_resp_mode (struct cvsroot *, int, char *); |
static int cvs_resp_modxpand (struct cvsroot *, int, char *); |
static int cvs_resp_modxpand (struct cvsroot *, int, char *); |
static int cvs_resp_rcsdiff (struct cvsroot *, int, char *); |
static int cvs_resp_rcsdiff (struct cvsroot *, int, char *); |
|
static int cvs_resp_template (struct cvsroot *, int, char *); |
|
|
static int cvs_initlog (void); |
static int cvs_initlog (void); |
|
|
|
|
{ CVS_RESP_SETSTICKY, "Set-sticky", cvs_resp_sticky }, |
{ CVS_RESP_SETSTICKY, "Set-sticky", cvs_resp_sticky }, |
{ CVS_RESP_CLRSTICKY, "Clear-sticky", cvs_resp_sticky }, |
{ CVS_RESP_CLRSTICKY, "Clear-sticky", cvs_resp_sticky }, |
{ CVS_RESP_RCSDIFF, "Rcs-diff", cvs_resp_rcsdiff }, |
{ CVS_RESP_RCSDIFF, "Rcs-diff", cvs_resp_rcsdiff }, |
|
{ CVS_RESP_TEMPLATE, "Template", cvs_resp_template }, |
}; |
}; |
|
|
|
|
|
|
int |
int |
cvs_req_handle(char *line) |
cvs_req_handle(char *line) |
{ |
{ |
return (0); |
u_int i; |
|
char *cp, *cmd; |
|
|
|
cmd = line; |
|
|
|
cp = strchr(cmd, ' '); |
|
if (cp != NULL) |
|
*(cp++) = '\0'; |
|
|
|
for (i = 0; i < CVS_NBREQ; i++) { |
|
if (strcmp(cvs_requests[i].req_str, cmd) == 0) { |
|
if (cvs_requests[i].req_hdlr == NULL) { |
|
cvs_log(LP_ERR, |
|
"unimplemented request handler for `%s'", |
|
cmd); |
|
break; |
|
} |
|
else |
|
return (*cvs_requests[i].req_hdlr) |
|
(cvs_requests[i].req_id, cp); |
|
} |
|
} |
|
|
|
/* unhandled */ |
|
return (-1); |
} |
} |
|
|
|
|
|
|
*(cp++) = '\0'; |
*(cp++) = '\0'; |
|
|
for (i = 0; i < CVS_NBRESP; i++) { |
for (i = 0; i < CVS_NBRESP; i++) { |
if (strcmp(cvs_responses[i].resp_str, cmd) == 0) |
if (strcmp(cvs_responses[i].resp_str, cmd) == 0) { |
return (*cvs_responses[i].resp_hdlr) |
if (cvs_responses[i].resp_hdlr == NULL) { |
(root, cvs_responses[i].resp_id, cp); |
cvs_log(LP_ERRNO, |
|
"unimplemented response handler for `%s'", |
|
cmd); |
|
return (-1); |
|
} |
|
else |
|
return (*cvs_responses[i].resp_hdlr) |
|
(root, cvs_responses[i].resp_id, cp); |
|
} |
} |
} |
|
|
/* unhandled */ |
/* unhandled */ |
|
|
return (-1); |
return (-1); |
|
|
cvs_ent_close(entf); |
cvs_ent_close(entf); |
|
|
|
return (0); |
|
} |
|
|
|
|
|
/* |
|
* cvs_resp_template() |
|
* |
|
* Handler for the `Template' response. |
|
*/ |
|
|
|
static int |
|
cvs_resp_template(struct cvsroot *root, int type, char *line) |
|
{ |
|
mode_t mode; |
|
BUF *tmpl; |
|
|
|
tmpl = cvs_recvfile(root, &mode); |
|
if (tmpl == NULL) |
|
return (-1); |
|
|
return (0); |
return (0); |
} |
} |