From 4abab5ad6c8465a7528ccdd5f49367da05f78bbd Mon Sep 17 00:00:00 2001 From: Vladimir Azarov Date: Tue, 1 Oct 2024 15:47:05 +0200 Subject: Initial version --- src/legacy/cuserid.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/legacy/cuserid.c (limited to 'src/legacy/cuserid.c') diff --git a/src/legacy/cuserid.c b/src/legacy/cuserid.c new file mode 100644 index 0000000..dcaf73d --- /dev/null +++ b/src/legacy/cuserid.c @@ -0,0 +1,22 @@ +#define _GNU_SOURCE +#include +#include +#include +#include + +char *cuserid(char *buf) +{ + static char usridbuf[L_cuserid]; + struct passwd pw, *ppw; + long pwb[256]; + if (buf) *buf = 0; + getpwuid_r(geteuid(), &pw, (void *)pwb, sizeof pwb, &ppw); + if (!ppw) + return buf; + size_t len = strnlen(pw.pw_name, L_cuserid); + if (len == L_cuserid) + return buf; + if (!buf) buf = usridbuf; + memcpy(buf, pw.pw_name, len+1); + return buf; +} -- cgit v1.2.3