Coucou,
J’essaie de compiler un vieux simulateur logique, log, sous macos.
Seulement le programme utilise une fonction, cuserid(), qui ne semble pas avoir été incluse dans le port macos de la gnulib :
https://www.gnu.org/software/gnulib/manual/html_node/cuserid.html
La doc de la fonction :
https://linux.die.net/man/3/cuserid
Une partie du code de psys/log qui l’utilise :
Static Void tracemessage(msg)
Char *msg;
{
if (!gg.traceflag)
return;
if (!gg.traceopen) {
if (*tracefname == '\0') {
do {
sprintf(tracefname, "/tmp/%.10s%03ld",
/* P_citinfo->username, P_rand(&gg.rndseed, 1000L)); */
cuserid(NULL), P_rand(&gg.rndseed, 1000L));
} while (access(tracefname, F_OK) == 0);
}
if (tracefile != NULL)
tracefile = freopen(tracefname, "a", tracefile);
else
tracefile = fopen(tracefname, "a");
if (tracefile == NULL)
_EscIO(FileNotFound);
gg.traceopen = true;
}
fprintf(tracefile, "%s\n", msg);
}
Est-ce qu’un C guru (@Fanch ? @Jumbef ?) parmi vous pourrait m’éclairer sur la modification à apporter ?
De ce que je comprends, la fonction renvoie un pointeur vers un string avec mon nom d’utilisateur. Peut-être qu’on peut le remplacer en dur dans le code ?
Bises,