From 6952973e02db7647e8e7ff032eb5a6d061597c37 Mon Sep 17 00:00:00 2001 From: ha7ilm Date: Thu, 3 Dec 2015 00:17:46 +0100 Subject: [PATCH] Added read_socket_ctl() --- ddcd.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/ddcd.cpp b/ddcd.cpp index d8e1f41..4d27ce4 100644 --- a/ddcd.cpp +++ b/ddcd.cpp @@ -386,6 +386,46 @@ void client_cleanup() close(this_client->pipefd[0]); } +#define CTL_BUFSIZE 1024 + +int read_socket_ctl(int fd, char* output, int max_size) +{ + //fprintf(stderr, "doing read_socket_ctl %d\n", fd); + //if(!fd) return 0; + static char buffer[CTL_BUFSIZE]; + static int buffer_index=0; + if(buffer_index==CTL_BUFSIZE) buffer_index=0; + int bytes_read=recv(fd,buffer+buffer_index,(CTL_BUFSIZE-buffer_index)*sizeof(char), MSG_DONTWAIT); + if(bytes_read<=0) return 0; + fprintf(stderr, "recv %d\n", bytes_read); + + int prev_newline_at=0; + int last_newline_at=0; + for(int i=0;isocket, recv_cmd, CTL_BUFSIZE)) + fprintf(stderr, "read_socket_ctl: %s\n", recv_cmd); read(input_fd,buf,bufsizeall); if(send(this_client->socket,buf,bufsizeall,0)==-1) {