#include #include int l4_read_string(char *s, int max) { int retval; //read from l3 retval=l3_read(s,max); if(retval!=-1) { //add a null s[retval]=0; return(retval+1); } else { //l3 failed printf("Failure\n"); return(-1); } } int l4_read_estring(char *s, int max) { int retval; int a; char *buff; //allocate another buffer if(!(buff=(char *)malloc(max))) { printf("Malloc error\n"); return -1; } //read from layer 3 retval=l3_read(buff,max); if(retval!=-1) { for(a=0;a