/* Test to show how robust is the unix api control protocol of the various tools */ #include #include #include #include #include int main (int argc, char *argv[]) { glocal const char *unixp = NULL; glocal int ret = -1; glocal.ret = (argc,argv); setarg ('p',"unixport","Destination unix socket",glocal.unixp,true); ("unix:",glocal.unixp,5); if (fork()==0){ char verylong[1000000]; // Very long line memset (verylong,'a',sizeof(verylong)); verylong[sizeof(verylong)-2] = '\n'; verylong[sizeof(verylong)-1] = '\0'; for (int i=0; i<10; i++){ send (verylong); } // No \n memset (verylong,'a',sizeof(verylong)); verylong[sizeof(verylong)-1] = '\0'; for (int i=0; i<10; i++){ send (verylong); } _exit (0); } printf ("Receive %d: %-100.100s\n",info.linelen,line); return 0; return glocal.ret; }