Loading tests/server/getpart.c +32 −17 Original line number Diff line number Diff line Loading @@ -7,6 +7,27 @@ #define EAT_SPACE(ptr) while( ptr && *ptr && isspace(*ptr) ) ptr++ #define EAT_WORD(ptr) while( ptr && *ptr && !isspace(*ptr) && ('>' != *ptr)) ptr++ char *appendstring(char *string, /* original string */ char *buffer, /* to append */ int *stringlen, int *stralloc) { int len = strlen(buffer); if((len + *stringlen) > *stralloc) { char *newptr= realloc(string, *stralloc*2); if(newptr) { string = newptr; *stralloc *= 2; } else return NULL; } strcpy(&string[*stringlen], buffer); *stringlen += len; return string; } char *spitout(FILE *stream, char *main, char *sub, int *size) { char buffer[8192]; /* big enough for anything */ Loading @@ -19,6 +40,7 @@ char *spitout(FILE *stream, char *main, char *sub, int *size) char *string; int stringlen=0; int stralloc=256; int len; enum { STATE_OUTSIDE, Loading @@ -38,22 +60,9 @@ char *spitout(FILE *stream, char *main, char *sub, int *size) if('<' != *ptr) { if(display) { int len; printf("=> %s", buffer); len = strlen(buffer); if((len + stringlen) > stralloc) { char *newptr= realloc(string, stralloc*2); if(newptr) { string = newptr; stralloc *= 2; } else return NULL; } strcpy(&string[stringlen], buffer); stringlen += len; string = appendstring(string, buffer, &stringlen, &stralloc); printf("* %s\n", buffer); } continue; } Loading @@ -75,15 +84,17 @@ char *spitout(FILE *stream, char *main, char *sub, int *size) /* this is the end of the currently read sub section */ state--; csub[0]=0; /* no sub anymore */ display=0; } else if((state == STATE_INMAIN) && !strcmp(cmain, ptr)) { /* this is the end of the currently read main section */ state--; cmain[0]=0; /* no main anymore */ display=0; } } else { else if(!display) { /* this is the beginning of a section */ end = ptr; EAT_WORD(end); Loading @@ -100,11 +111,15 @@ char *spitout(FILE *stream, char *main, char *sub, int *size) break; } } if(display) { string = appendstring(string, buffer, &stringlen, &stralloc); printf("* %s\n", buffer); } if((STATE_INSUB == state) && !strcmp(cmain, main) && !strcmp(csub, sub)) { printf("* %s\n", buffer); printf("* (%d bytes) %s\n", stringlen, buffer); display = 1; /* start displaying */ } else { Loading tests/server/sws.c +16 −6 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ #define TEST_DATA_PATH "data/test%d" static char *docfriends = "WE ROOLZ\r\n"; static char *doc404 = "HTTP/1.1 404 Not Found\n" "Server: " VERSION "\n" "Connection: close\n" Loading Loading @@ -184,12 +185,18 @@ static int get_request(int sock) /* get the number after it */ if(ptr) { if(!strcmp("/verifiedserver", ptr)) { logmsg("Are-we-friendly question received"); return -2; } test_no = strtol(ptr+1, &ptr, 10); logmsg("Found test number in PATH"); } else else { logmsg("Did not find test number in PATH"); } return test_no; } Loading @@ -211,6 +218,10 @@ static int send_doc(int sock, int doc) char filename[256]; if(doc < 0) { if(-2 == doc) /* we got a "friends?" question, reply back that we sure are */ buffer = docfriends; else buffer = doc404; ptr = NULL; stream=NULL; Loading Loading @@ -257,6 +268,8 @@ int main(int argc, char *argv[]) logfile = "logfile"; /* FIX: write our pid to a file name */ logfp = fopen(logfile, "a"); if (!logfp) { perror(logfile); Loading Loading @@ -317,10 +330,7 @@ int main(int argc, char *argv[]) logmsg("New client connected"); doc = get_request(msgsock); if (doc > 0) send_doc(msgsock, doc); else send_doc(msgsock, -1); close(msgsock); } Loading Loading
tests/server/getpart.c +32 −17 Original line number Diff line number Diff line Loading @@ -7,6 +7,27 @@ #define EAT_SPACE(ptr) while( ptr && *ptr && isspace(*ptr) ) ptr++ #define EAT_WORD(ptr) while( ptr && *ptr && !isspace(*ptr) && ('>' != *ptr)) ptr++ char *appendstring(char *string, /* original string */ char *buffer, /* to append */ int *stringlen, int *stralloc) { int len = strlen(buffer); if((len + *stringlen) > *stralloc) { char *newptr= realloc(string, *stralloc*2); if(newptr) { string = newptr; *stralloc *= 2; } else return NULL; } strcpy(&string[*stringlen], buffer); *stringlen += len; return string; } char *spitout(FILE *stream, char *main, char *sub, int *size) { char buffer[8192]; /* big enough for anything */ Loading @@ -19,6 +40,7 @@ char *spitout(FILE *stream, char *main, char *sub, int *size) char *string; int stringlen=0; int stralloc=256; int len; enum { STATE_OUTSIDE, Loading @@ -38,22 +60,9 @@ char *spitout(FILE *stream, char *main, char *sub, int *size) if('<' != *ptr) { if(display) { int len; printf("=> %s", buffer); len = strlen(buffer); if((len + stringlen) > stralloc) { char *newptr= realloc(string, stralloc*2); if(newptr) { string = newptr; stralloc *= 2; } else return NULL; } strcpy(&string[stringlen], buffer); stringlen += len; string = appendstring(string, buffer, &stringlen, &stralloc); printf("* %s\n", buffer); } continue; } Loading @@ -75,15 +84,17 @@ char *spitout(FILE *stream, char *main, char *sub, int *size) /* this is the end of the currently read sub section */ state--; csub[0]=0; /* no sub anymore */ display=0; } else if((state == STATE_INMAIN) && !strcmp(cmain, ptr)) { /* this is the end of the currently read main section */ state--; cmain[0]=0; /* no main anymore */ display=0; } } else { else if(!display) { /* this is the beginning of a section */ end = ptr; EAT_WORD(end); Loading @@ -100,11 +111,15 @@ char *spitout(FILE *stream, char *main, char *sub, int *size) break; } } if(display) { string = appendstring(string, buffer, &stringlen, &stralloc); printf("* %s\n", buffer); } if((STATE_INSUB == state) && !strcmp(cmain, main) && !strcmp(csub, sub)) { printf("* %s\n", buffer); printf("* (%d bytes) %s\n", stringlen, buffer); display = 1; /* start displaying */ } else { Loading
tests/server/sws.c +16 −6 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ #define TEST_DATA_PATH "data/test%d" static char *docfriends = "WE ROOLZ\r\n"; static char *doc404 = "HTTP/1.1 404 Not Found\n" "Server: " VERSION "\n" "Connection: close\n" Loading Loading @@ -184,12 +185,18 @@ static int get_request(int sock) /* get the number after it */ if(ptr) { if(!strcmp("/verifiedserver", ptr)) { logmsg("Are-we-friendly question received"); return -2; } test_no = strtol(ptr+1, &ptr, 10); logmsg("Found test number in PATH"); } else else { logmsg("Did not find test number in PATH"); } return test_no; } Loading @@ -211,6 +218,10 @@ static int send_doc(int sock, int doc) char filename[256]; if(doc < 0) { if(-2 == doc) /* we got a "friends?" question, reply back that we sure are */ buffer = docfriends; else buffer = doc404; ptr = NULL; stream=NULL; Loading Loading @@ -257,6 +268,8 @@ int main(int argc, char *argv[]) logfile = "logfile"; /* FIX: write our pid to a file name */ logfp = fopen(logfile, "a"); if (!logfp) { perror(logfile); Loading Loading @@ -317,10 +330,7 @@ int main(int argc, char *argv[]) logmsg("New client connected"); doc = get_request(msgsock); if (doc > 0) send_doc(msgsock, doc); else send_doc(msgsock, -1); close(msgsock); } Loading