// Compare Content-Length vs received bytes. g++ -O2 -std=c++17 #include #include int main(int argc, char **argv) { const char *path = argc>1?argv[1]:"/tmp/http_match.tsv"; FILE *f=fopen(path,"r"); if(!f){perror(path);return 1;} char label[64]; int status, cl, recv; int n=0, mismatch=0, not200=0; while(fscanf(f,"%63s %d %d %d\n", label, &status, &cl, &recv)==4){ n++; if(status!=200) not200++; if(cl!=recv) mismatch++; printf("%s status=%d cl=%d recv=%d %s\n", label, status, cl, recv, cl==recv?"MATCH":"MISMATCH"); } fclose(f); printf("n=%d not200=%d mismatch=%d\n", n, not200, mismatch); return mismatch?2:0; }