Code :
int Ident_Modif(pos_mem3,ProxyId2,FluxId2) { char *Modification,*temp_Modification,*Modif; int resultat3, Ident_ACL; printf("\nRecherche type modif pos_mem3" ); sleep(2); if((Modification=(char*)calloc (13,sizeof(char*)))==NULL) { perror("\nErreur sur allocation de memoire tampon" ); exit(4); } else memset(*Modification,0,strlen(Modification)); printf("\navant la boucle" ); do { if((resultat3=fread(Modification,sizeof (char),12,Instructions))<12) perror("\nErreur de lecture de l'opération du flux a traiter" ); pos_mem3++; fseek(Instructions,pos_mem3,SEEK_SET); }while((strcmp(Modification,"modification" ))); printf("\nType de Modification : %s",Modification); pos_mem3=pos_mem3+strlen(Modification); /*fseek(Instructions,pos_mem3+strlen(Modification),SEEK_SET);*/ printf("\nAprés le fseek" ); if((Modification=(char*)calloc (2,sizeof(char*)))==NULL) { perror("\nErreur sur allocation de memoire tampon" ); exit(4); } else memset(*Modification,0,strlen(Modification)); printf("\ntoujours ok" ); if((temp_Modification=(char*)calloc (2,sizeof(char*)))==NULL) { perror("\nErreur sur allocation de temp_Modification" ); exit(4); } else memset(*temp_Modification,0,strlen(Modification)); if((Modif=(char*)calloc (2,sizeof(char*)))==NULL) { perror("\nErreur sur allocation de Modif" ); exit(4); } memset(*Modif,0,strlen(Modif)); printf("\ntoujours ok" ); do { fseek(Instructions,pos_mem3,SEEK_SET); /*printf("\ndans la boucle do" );*/ if((resultat3=fread(Modif,1,sizeof(char),Instructions))<1) perror("\nErreur de lecture du type de modif" ); printf("\napres le read valeur %c %d",*Modif,*Modif); if(isalpha(*Modif)) { printf("\ndans le if" ); strcat(Modification,Modif); printf("\napres le strcat valeur Modif %c Modification %s taille Modification %d",*Modif,*Modification,strlen(Modification)); if(temp_Modification=realloc(Modification,(strlen(Modification)+10)*sizeof(char))==NULL) perror("\nErreur sur reallocation memoire Modification" ); printf("\napres realloc taille %d %d",strlen(Modification),strlen(temp_Modification)); if(Modification=realloc(temp_Modification,(strlen(temp_Modification)+1)*sizeof(char))==NULL) perror("\nErreur sur reallocation memoire Modification" ); printf("\napres passage taille %d %d",strlen(Modification),strlen(temp_Modification)); } pos_mem3++; printf("\nreboclage Modification = %s Modif= %d pos_mem3 %d\n",*Modification,*Modif,pos_mem3); sleep(2); }while(*Modif!=10); printf("\noperation: %s\n",*Modification); free(Modification); free(temp_Modification); free(Modif); return(pos_mem3+strlen(Modification)); }
|