struct utmp * __getutid (const struct utmp *id) { struct utmp *result; if (__getutid_r (id, &buffer, &result) < 0) return NULL; return result; }
struct utmp * __getutid (const struct utmp *id) { struct utmp *result; if (buffer == NULL) { buffer = (struct utmp *) malloc (sizeof (struct utmp)); if (buffer == NULL) return NULL; } if (__getutid_r (id, buffer, &result) < 0) return NULL; return result; }
int getutid32_r (const struct utmp32 *id, struct utmp32 *buffer, struct utmp32 **result) { struct utmp in64; struct utmp out64; struct utmp *out64p; int ret; utmp_convert32to64 (id, &in64); ret = __getutid_r (&in64, &out64, &out64p); if (ret == -1) { *result = NULL; return -1; } utmp_convert64to32 (out64p, buffer); *result = buffer; return 0; }