diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
index 553a3ec0d5355cbbd4e039ec9930a6b0a1054003..0d0628a28a029b6224c8c64b11bc2e96183bb8ca 100644
--- a/src/bin/initdb/initdb.c
+++ b/src/bin/initdb/initdb.c
@@ -43,7 +43,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  * Portions taken from FreeBSD.
  *
- * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.15 2003/11/29 19:52:04 pgsql Exp $
+ * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.16 2003/12/01 23:15:47 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -801,7 +801,6 @@ static bool
 mkdatadir(char *subdir)
 {
 	char	   *path;
-	int			res;
 
 	path = xmalloc(strlen(pg_data) + 2 +
 				   (subdir == NULL ? 0 : strlen(subdir)));
@@ -811,13 +810,7 @@ mkdatadir(char *subdir)
 	else
 		strcpy(path, pg_data);
 
-	res = mkdir(path, 0700);
-	if (res == 0)
-		return true;
-	else if (subdir == NULL || errno != ENOENT)
-		return false;
-	else
-		return !mkdir_p(path, 0700);
+	return (mkdir_p(path, 0700) == 0);
 }