J'aimerais quelques précisions sur cette fonction :
pedrom::tmpnam
char *tmpnam(char *s asm("a0"))
{
if (!s)
s = TMPNAME, *s++ = 0;
do {
/* Don't check if we do a loop, since Ti can't have 65536 files */
sprintf(s, "temp%04x", TMPNAME_COUNT++);
} while (SymFindPtr(s+9,0));
return s;
}
Comme c'est du C, j'y comprends pas grand chose

malgré tous mes efforts
Si je lis bien :
- on doit passer à la fonction un pointeur vers un buffer pour recevoir un nom de fichier
- le pointeur est initialisé à TMPNAME (buffer de 10 bytes) à peine arrivé. A quoi sert donc ce qu'on y a mis ?
- Le premier caractère est mis à 0, puis on le passe (s est incrémenté de 1 ?), comme ça on construit en fait une SYM_STR ? C'est bien ça ?
J'aimerais comprendre, parce que je suis perplexe sur ce que renvoie cette fonction.
"return s", ça renvoie un pointeur vers l'octet #1 de TMPNAME, rien à voir avec l'argument qu'on aura passé à la fonction oO ?