| 90 | } |
| 91 | |
| 92 | int sockfillbuffcli(struct clientparam * param, unsigned long size, int timeosec){ |
| 93 | int len; |
| 94 | |
| 95 | if(!param->clibuf) return 0; |
| 96 | if(param->cliinbuf == param->clioffset){ |
| 97 | param->cliinbuf = param->clioffset = 0; |
| 98 | } |
| 99 | else if(param->clioffset){ |
| 100 | memmove(param->clibuf, param->clibuf + param->clioffset, param->cliinbuf - param->clioffset); |
| 101 | param->cliinbuf -= param->clioffset; |
| 102 | param->clioffset = 0; |
| 103 | } |
| 104 | if(size <= param->cliinbuf) return size; |
| 105 | size -= param->cliinbuf; |
| 106 | if((len = sockrecvfrom(param->clisock, (struct sockaddr *)¶m->sincr, param->clibuf + param->cliinbuf, (param->clibufsize - param->cliinbuf) < size? param->clibufsize - param->cliinbuf:size, timeosec*1000)) > 0){ |
| 107 | param->cliinbuf += len; |
| 108 | } |
| 109 | return param->cliinbuf; |
| 110 | } |
| 111 | |
| 112 | int sockfillbuffsrv(struct clientparam * param, unsigned long size, int timeosec){ |
| 113 | int len; |
no test coverage detected