/* on some dists rundir gets purged on startup. so we need to recreate it. */
if (stat(ctdl_run_dir, &filestats)==-1){
+#ifdef BSD_GETPWUID
+ pwp = getpwuid_r(config.c_ctdluid, &pw, pwbuf, sizeof(pwbuf));
+#else
getpwuid_r(config.c_ctdluid, &pw, pwbuf, sizeof(pwbuf), &pwp);
+#endif
mkdir(ctdl_run_dir, 0755);
chown(ctdl_run_dir, config.c_ctdluid, (pwp==NULL)?-1:pw.pw_gid);
}
* corresponding group ids
*/
if (drop_root_perms) {
+#ifdef BSD_GETPWUID
+ pwp = getpwuid_r(config.c_ctdluid, &pw, pwbuf, sizeof(pwbuf));
+#else
getpwuid_r(config.c_ctdluid, &pw, pwbuf, sizeof(pwbuf), &pwp);
-
+#endif
if (pwp == NULL)
lprintf(CTDL_CRIT, "WARNING: getpwuid(%ld): %s\n"
"Group IDs will be incorrect.\n", (long)CTDLUID,