Je voudrais savoir comment, en C, on peut connaitre l'adresse de la FAT car je voudrais faire une recherche d'une variable STR contenant est "TEST".
SYM_ENTRY *SymEntry;
unsigned char *pFile;
char string[10];
SymEntry = SymFind(NULL,2);
while(SymEntry)
{
if((*HToESI(SymEntry->handle)) == STR_TAG)
{
memset(string,0,10);
string = GetStrnArg(HToESI(SymEntry->handle));
if (!strcmp("TEST",string)) break;
}
SymEntry = SymFindNext();
}
if(SymEntry) printf("Chaine 'TEST' trouvée dans la variable : %s\n",SymEntry->name);
SYM_ENTRY *sym_ptr;
unsigned char *ptrFILE;
sym_ptr=SymFindPtr($(TEST),0);
if(!symptr)return;
ptrFILE=HeapDeref(symptr->handle);
if(!ptrFILE)return;
if(*(ptrFILE+*((unsigned short *)ptrFILE)+1)==STR_TAG)
{
// Instructions...
}jackiechan91 a écrit :
Moi, je ferais ça, qui est bien plus court :
SYM_ENTRY *sym_ptr; unsigned char *ptrFILE; sym_ptr=SymFindPtr($(TEST),0); if(!symptr)return; ptrFILE=HeapDeref(symptr->handle); if(!ptrFILE)return; if(*(ptrFILE+*((unsigned short *)ptrFILE)+1)==STR_TAG) { // Instructions... }


jackiechan91 a écrit :
Moi, je ferais ça, qui est bien plus court :
SYM_ENTRY *sym_ptr; unsigned char *ptrFILE; sym_ptr=SymFindPtr($(TEST),0); if(!symptr)return; ptrFILE=HeapDeref(symptr->handle); if(!ptrFILE)return; if(*(ptrFILE+*((unsigned short *)ptrFILE)+1)==STR_TAG) { // Instructions... }
: