ciao a tutti, volevo capire come mai mettendo del codice in una funzione e richiamando quella funzione non va, mi da un errore di realloc, mentre lasciandolo nel main è tutto perfettamente fuznionante.. vi copio il codice
se questo lo metto in una funzione void, o int , o char che sia mi da il seguente errorecodice:int p[2]; pipe(p); int isfork; isfork = fork(); if(isfork == 0){ dup2(p[1],1); close(p[0]); char *args[2] = { "date", NULL }; execvp (args[0], args); } else { char c; char *stringa = malloc(sizeof(char *)); int i = 0; dup2(p[0],0); close(p[1]); while( read(p[0],&c,sizeof(c) ) ){ stringa = realloc(stringa, (i + 1) * sizeof(char *)); i++; strcat(stringa,&c); printf("%c",c); } printf("%s",stringa); }
*** glibc detected *** realloc(): invalid next size: 0x0804a008 ***
SAborted
non reisco proprio a capire l'errore qual è se funziona nel main.. boh.. ditemi voi.. grazie.


Rispondi quotando
