[BACK]Return to server.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / cvs

Diff for /src/usr.bin/cvs/server.c between version 1.4 and 1.5

version 1.4, 2004/07/30 23:12:12 version 1.5, 2004/08/02 17:35:37
Line 37 
Line 37 
 #include "cvs.h"  #include "cvs.h"
 #include "log.h"  #include "log.h"
 #include "sock.h"  #include "sock.h"
   #include "proto.h"
   
   
   
Line 64 
Line 65 
 int  int
 cvs_server(int argc, char **argv)  cvs_server(int argc, char **argv)
 {  {
         ssize_t ret;          size_t len;
         char reqbuf[128];          char reqbuf[128];
         struct cvsroot *root;  
   
         if (argc != 1) {          if (argc != 1) {
                 return (EX_USAGE);                  return (EX_USAGE);
         }          }
   
           /* make sure standard in and standard out are line-buffered */
           (void)setvbuf(stdin, NULL, _IOLBF, 0);
           (void)setvbuf(stdout, NULL, _IOLBF, 0);
   
           if (cvs_sock_connect(CVSD_SOCK_PATH) < 0) {
                   cvs_log(LP_ERR, "failed to connect to CVS server socket");
                   return (-1);
           }
   
   
         for (;;) {          for (;;) {
                 ret = read(STDIN_FILENO, reqbuf, sizeof(reqbuf));                  if (fgets(reqbuf, sizeof(reqbuf), stdin) == NULL) {
                 if (ret == 0) {                          if (feof(stdin))
                         break;                                  break;
                           else if (ferror(stdin))
                                   return (EX_DATAERR);
                 }                  }
   
                   len = strlen(reqbuf);
                   if (len == 0)
                           continue;
                   else if (reqbuf[len - 1] != '\n') {
                           cvs_log(LP_ERR, "truncated request");
                           return (EX_DATAERR);
                   }
                   reqbuf[--len] = '\0';
   
         }                  cvs_req_handle(reqbuf);
   
   
         if (cvs_sock_connect(root->cr_dir) < 0) {  
                 cvs_log(LP_ERR, "failed to connect to CVS server socket");  
                 return (-1);  
         }          }
   
         cvs_sock_disconnect();          cvs_sock_disconnect();

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5