Advertisement
Guest User

Untitled

a guest
Aug 24th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.47 KB | None | 0 0
  1. //old
  2. int cutilsTcpServerAccept(cutilsTcpServer *server, size_t bufferSize){
  3.     cutilsTcpServerClient newClient;
  4.     newClient.addressSize = sizeof(struct sockaddr_storage);
  5.     newClient.sockfd = accept(server->sockfd, (struct sockaddr*)&newClient.address, &newClient.addressSize);
  6.     if(newClient.sockfd == -1){
  7.         return CUTILS_ACCEPT;
  8.     }
  9.  
  10.     int err = cutilsByteStreamInit(&newClient.buffer, bufferSize);
  11.     if(err != CUTILS_OK){
  12.         close(newClient.sockfd);
  13.         return err;
  14.     }
  15.  
  16.     err = cutilsTcpServerClientArrPushBack(&server->clients, newClient);
  17.     if(err != CUTILS_OK){
  18.         close(newClient.sockfd);
  19.         cutilsByteStreamFree(&newClient.buffer);
  20.         return err;
  21.     }
  22.  
  23.     return CUTILS_OK;
  24. }
  25.  
  26.  
  27. //new
  28. cutilsTcpServerClient* cutilsTcpServerAccept(cutilsTcpServer *server, size_t bufferSize){
  29.     cutilsTcpServerClient *newClient = malloc(sizeof(cutilsTcpServerClient));
  30.     newClient->addressSize = sizeof(struct sockaddr_storage);
  31.     newClient->sockfd = accept(server->sockfd, (struct sockaddr*)&newClient->address, &newClient->addressSize);
  32.     if(newClient->sockfd == -1){
  33.         return NULL;
  34.     }
  35.  
  36.     int err = cutilsByteStreamInit(&newClient->buffer, bufferSize);
  37.     if(err != CUTILS_OK){
  38.         close(newClient->sockfd);
  39.         free(newClient);
  40.         return NULL;
  41.     }
  42.  
  43.     //error is here somewhere
  44.     // err = cutilsTcpServerClientArrPushBack(&server->clients, newClient);
  45.     // if(err != CUTILS_OK){
  46.     //  close(newClient.sockfd);
  47.     //  cutilsByteStreamFree(&newClient.buffer);
  48.     //  return err;
  49.     // }
  50.  
  51.     return newClient;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement