/*
- * Copyright (c) 2000, 2002, 2012 Todd C. Miller <Todd.Miller@courtesan.com>
+ * Copyright (c) 2000, 2002, 2012-2013
+ * Todd C. Miller <Todd.Miller@courtesan.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
#include <config.h>
+#ifndef HAVE_PW_DUP
+
#include <sys/types.h>
#include <stdio.h>
struct passwd *
pw_dup(const struct passwd *pw)
{
- char *cp;
- size_t nsize, psize, gsize, dsize, ssize, total;
+ size_t nsize = 0, psize = 0, gsize = 0, dsize = 0, ssize = 0, total;
#ifdef HAVE_LOGIN_CAP_H
- size_t csize;
+ size_t csize;
#endif
- struct passwd *newpw;
+ struct passwd *newpw;
+ char *cp;
/* Allocate in one big chunk for easy freeing */
total = sizeof(struct passwd);
PW_SIZE(pw_shell, ssize);
if ((cp = malloc(total)) == NULL)
- return (NULL);
+ return NULL;
newpw = (struct passwd *)cp;
/*
return newpw;
}
+#endif /* HAVE_PW_DUP */