version 1.58, 2007/05/26 23:19:31 |
version 1.59, 2007/05/26 23:52:04 |
|
|
cvs_server_send_response(char *fmt, ...) |
cvs_server_send_response(char *fmt, ...) |
{ |
{ |
va_list ap; |
va_list ap; |
char *data, *s; |
char *data; |
struct cvs_resp *resp; |
|
|
|
va_start(ap, fmt); |
va_start(ap, fmt); |
if (vasprintf(&data, fmt, ap) == -1) |
if (vasprintf(&data, fmt, ap) == -1) |
fatal("vasprintf: %s", strerror(errno)); |
fatal("vasprintf: %s", strerror(errno)); |
va_end(ap); |
va_end(ap); |
|
|
if ((s = strchr(data, ' ')) != NULL) |
|
*s = '\0'; |
|
|
|
resp = cvs_remote_get_response_info(data); |
|
if (resp == NULL) |
|
fatal("'%s' is an unknown response", data); |
|
|
|
if (resp->supported != 1) |
|
fatal("remote cvs client does not support '%s'", data); |
|
|
|
if (s != NULL) |
|
*s = ' '; |
|
|
|
cvs_log(LP_TRACE, "%s", data); |
cvs_log(LP_TRACE, "%s", data); |
cvs_remote_output(data); |
cvs_remote_output(data); |