summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--support/htpasswd.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/support/htpasswd.c b/support/htpasswd.c
index 8175ce7c78..d7c95317b8 100644
--- a/support/htpasswd.c
+++ b/support/htpasswd.c
@@ -86,6 +86,10 @@
#include "ap_sha1.h"
#include <signal.h>
+#ifdef HAVE_CRYPT_H
+#include <crypt.h>
+#endif
+
#ifdef WIN32
#include <conio.h>
#define unlink _unlink
@@ -124,6 +128,8 @@ static char *tempfilename;
*/
#ifdef L_tmpnam
static char tname_buf[L_tmpnam];
+#else
+static char *tname_buf = NULL;
#endif
/*
@@ -526,12 +532,8 @@ int main(int argc, char *argv[])
* to add or update. Let's do it..
*/
errno = 0;
-#ifdef L_tmpnam
tempfilename = tmpnam(tname_buf);
-#else /* def L_tmpnam */
- tempfilename = tmpnam(NULL);
-#endif /* def L_tmpnam */
- if ((tempfilename == NULL) || (strlen(tempfilename) == 0)) {
+ if ((tempfilename == NULL) || (*tempfilename == '\0')) {
fprintf(stderr, "%s: unable to generate temporary filename\n",
argv[0]);
if (errno == 0) {