diff src/dirfns.cc @ 1489:3e705c864019

[project @ 1995-09-28 05:38:26 by jwe]
author jwe
date Thu, 28 Sep 1995 05:38:26 +0000
parents 89c587478067
children 0d9e10d10bd7
line wrap: on
line diff
--- a/src/dirfns.cc	Tue Sep 26 22:49:48 1995 +0000
+++ b/src/dirfns.cc	Thu Sep 28 05:38:26 1995 +0000
@@ -507,7 +507,11 @@
 	}
       else
 	{
-	  DIR *dir = opendir (dirname);
+	  char *tmp = tilde_expand (dirname);
+
+	  DIR *dir = opendir (tmp);
+
+	  free (tmp);
 
 	  if (dir)
 	    {
@@ -579,10 +583,19 @@
 
       if (error_state)
 	gripe_wrong_type_arg ("mkdir", args(0));
-      else if (mkdir (dirname, 0777) < 0)
+      else
 	{
-	  status = -1;
-	  error ("%s", strerror (errno));
+	  char *tmp = tilde_expand (dirname);
+
+	  int mkdir_retval = mkdir (tmp, 0777);
+
+	  free (tmp);
+
+	  if (mkdir_retval < 0)
+	    {
+	      status = -1;
+	      error ("%s", strerror (errno));
+	    }
 	}
     }
   else
@@ -610,10 +623,19 @@
 
       if (error_state)
 	gripe_wrong_type_arg ("rmdir", args(0));
-      else if (rmdir (dirname) < 0)
+      else
 	{
-	  status = -1;
-	  error ("%s", strerror (errno));
+	  char *tmp = tilde_expand (dirname);
+
+	  int rmdir_retval = rmdir (tmp);
+
+	  free (tmp);
+
+	  if (rmdir_retval < 0)
+	    {
+	      status = -1;
+	      error ("%s", strerror (errno));
+	    }
 	}
     }
   else