src/server/util/util.c

changeset 47
ce9790523346
parent 24
1a7853a4257e
child 56
c6cf20b09043
--- a/src/server/util/util.c	Sat Jan 12 14:00:47 2013 +0100
+++ b/src/server/util/util.c	Sun Jan 13 14:16:45 2013 +0100
@@ -132,3 +132,43 @@
 
     return p + negative;
 }
+
+
+
+#ifndef XP_WIN32
+NSAPI_PUBLIC struct passwd *
+util_getpwnam(const char *name, struct passwd *result, char *buffer, 
+	int buflen)
+{
+    struct passwd *rv;
+
+#if defined(AIX) || defined(LINUX) || defined(HPUX)
+    errno = getpwnam_r(name, result, buffer, buflen, &rv);
+    if (errno != 0)
+        rv = NULL;
+#else
+    rv = getpwnam_r(name, result, buffer, buflen);
+#endif
+
+    return rv;
+}
+#endif
+
+
+#ifndef XP_WIN32
+NSAPI_PUBLIC struct passwd *
+util_getpwuid(uid_t uid, struct passwd *result, char *buffer, int buflen)
+{
+    struct passwd *rv;
+
+#if defined(AIX) || defined(LINUX) || defined(HPUX)
+    errno = getpwuid_r(uid, result, buffer, buflen, &rv);
+    if (errno != 0)
+        rv = NULL;
+#else
+    rv = getpwuid_r(uid, result, buffer, buflen);
+#endif
+
+    return rv;
+}
+#endif

mercurial