struct utmp * __getutent (void) { struct utmp *result; if (buffer == NULL) { buffer = (struct utmp *) malloc (sizeof (struct utmp)); if (buffer == NULL) return NULL; } if (__getutent_r (buffer, &result) < 0) return NULL; return result; }
int getutent32_r (struct utmp32 *buffer, struct utmp32 **result) { struct utmp out64; struct utmp *out64p; int ret; ret = __getutent_r (&out64, &out64p); if (ret == -1) { *result = NULL; return -1; } utmp_convert64to32 (out64p, buffer); *result = buffer; return 0; }