MCPcopy Create free account
hub / github.com/3proxy/3proxy / sockgetcharsrv

Function sockgetcharsrv

src/sockgetchar.c:135–157  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

133
134
135int sockgetcharsrv(struct clientparam * param, int timeosec, int timeousec){
136 int len;
137 int bufsize;
138
139 if(!param->srvbuf){
140 bufsize = BUFSIZE;
141 if(param->ndatfilterssrv > 0 && bufsize < 32768) bufsize = 32768;
142 if(!(param->srvbuf = myalloc(bufsize))) return 0;
143 param->srvbufsize = bufsize;
144 param->srvoffset = param->srvinbuf = 0;
145
146 }
147 if(param->srvinbuf && param->srvoffset < param->srvinbuf){
148 return (int)param->srvbuf[param->srvoffset++];
149 }
150 param->srvoffset = param->srvinbuf = 0;
151 if ((len = sockrecvfrom(param->remsock, (struct sockaddr *)&param->sinsr, param->srvbuf, param->srvbufsize, timeosec*1000 + timeousec))<=0) return EOF;
152 param->srvinbuf = len;
153 param->srvoffset = 1;
154 param->nreads++;
155 param->statssrv64 += len;
156 return (int)*param->srvbuf;
157}
158
159int sockgetlinebuf(struct clientparam * param, DIRECTION which, unsigned char * buf, int bufsize, int delim, int to){
160 int c;

Callers 1

sockgetlinebufFunction · 0.85

Calls 2

myallocFunction · 0.85
sockrecvfromFunction · 0.85

Tested by

no test coverage detected