Zeph Le 18/07/2002 à 01:53Edité par Boo le 18/07/2002 à 01:53 Merci BiHi !
Apparement l'erreur est dans cette fonction, mais je ne vois pas vraiment où vu qu'elle existe depuis un moment et ne m'avais jamais posé de problèmes :
char *makevar(char *chr_var,int int_siz)
{
SYM_ENTRY *sym_var;
char *chr_ptr;
if(!strlen(chr_var))
{
ST_helpMsg("Pas de nom de fichier precisé")
return 0;
}
if(!((sym_var=vat_open(chr_var)) || (sym_var=DerefSym(SymAdd(vat_name(chr_var))))))
{
ST_helpMsg("Erreur de création de fichier")
return 0;
}
chr_ptr=(char*)HeapDeref(sym_var->handle=HeapAlloc(int_siz));
*(unsigned short*)chr_ptr=int_siz-2;
return chr_ptr;
}

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Kevin Kofler Le 18/07/2002 à 02:00Edité par Kevin Kofler le 18/07/2002 à 02:01 Ben, tu appelles HeapAlloc, donc tu alloues de la mémoire!
Et tu fais ça même si le fichier existe déjà! C'est une grave erreur! Il faut appeler HeapRealloc sur le bloc existant si le fichier existe déjà!!!
Je ne pense pas. (C'est bien HeapRealloc que tu as utilisé, et pas realloc, qui n'est pas la bonne fonction ici de toute façon?) Poste ton code changé pour que je puisse comparer.