197 } |
197 } |
198 return 1; |
198 return 1; |
199 } |
199 } |
200 |
200 |
201 void srvctrl_log(SrvCtrlClient *client, char *msg, size_t len) { |
201 void srvctrl_log(SrvCtrlClient *client, char *msg, size_t len) { |
|
202 char msgheader[4]; |
|
203 msgheader[0] = SRV_MSG_LOG; |
|
204 uint16_t msglen = len; |
|
205 memcpy(&msgheader[1], &msglen, 2); |
|
206 write(client->fd, msgheader, 3); |
|
207 |
202 size_t pos = 0; |
208 size_t pos = 0; |
203 ssize_t w = 0; |
209 ssize_t w = 0; |
204 while(pos < len) { |
210 while(pos < len) { |
205 w = write(client->fd, msg + pos, len - pos); |
211 w = write(client->fd, msg + pos, len - pos); |
206 if(w <= 0) { |
212 if(w <= 0) { |