Gestioon d'erreur

master
Louis GERMAIN 1 year ago
parent 13e2a131d1
commit 02a23d07f9

@ -120,6 +120,8 @@ Precedence *loadPrec(int *tmax, int *tlog)
trace("loadPrec");
FILE *prec;
Precedence *tabP, *s;
char *precSuccStr, *precStr;
int index=0, i;
prec=fopen("files/precedences.txt", "r");
if (prec == NULL)
{
@ -132,7 +134,7 @@ Precedence *loadPrec(int *tmax, int *tlog)
printf("\033[0;31mErreur: \033[0mmalloc loadPrec\n");
exit(1);
}
fscanf(prec, "%s\t%s", tabP[*tlog].travauxPrec, tabP[*tlog].travauxSucc); // ERREUR DE SEGMENTATION ICI
(*tlog)++;
while(!feof(prec))
{
if(*tlog==*tmax)
@ -146,7 +148,20 @@ Precedence *loadPrec(int *tmax, int *tlog)
}
tabP = s;
}
fscanf(prec, "%s\t%s", tabP[*tlog].travauxPrec, tabP[*tlog].travauxSucc);
precSuccStr = readFromFile(prec);
while (precSuccStr[index] != '\t')
index++;
precStr = (char *)malloc((index+1) * sizeof(char));
for (i=0; i<index; i++)
precStr[i] = precSuccStr[i];
strcpy(tabP[*tlog].travauxPrec, precStr);
strcpy(tabP[*tlog].travauxSucc, precSuccStr+index+1);
free(precSuccStr);
free(precStr);
(*tlog)++;
}
fclose(prec);

Loading…
Cancel
Save