X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fsptps_test.c;h=9452ed1e0242685b36fdce31c3c4326d6a364b4c;hp=38c2c08ee60418b67f1c135cba86e2dfcb4237f5;hb=0c7e0210d900185d4c1a9ffd969dc2a26d9523a9;hpb=04fc19112da5e7fcefefcf6e490987cdcfb6f620 diff --git a/src/sptps_test.c b/src/sptps_test.c index 38c2c08e..9452ed1e 100644 --- a/src/sptps_test.c +++ b/src/sptps_test.c @@ -35,6 +35,7 @@ bool send_request(void *c, const char *msg, ...) { return false; } struct list_t *connection_list = NULL; bool send_meta(void *c, const char *msg , int len) { return false; } char *logfilename = NULL; +bool do_detach = false; struct timeval now; static bool verbose; @@ -356,8 +357,19 @@ int main(int argc, char *argv[]) { fprintf(stderr, "Dropped.\n"); continue; } - if(!sptps_receive_data(&s, buf, len) && !datagram) - return 1; + char *bufp = buf; + while(len) { + size_t done = sptps_receive_data(&s, bufp, len); + if(!done) { + if(!datagram) + return 1; + } else { + break; + } + + bufp += done; + len -= done; + } } }