diff src/editfns.c @ 4733:a5210e70ffbe

No need to fatal () on startup if $PWD doesn't exist; chdir to "/" instead. src/ChangeLog addition: 2009-11-08 Aidan Kehoe <kehoea@parhasard.net> * sysfile.h (DEFAULT_DIRECTORY_FALLBACK): New #define, "/" on Unix and "C:\\" on Win32 native, a directory that should "always" be available. * fileio.c (Fexpand_file_name): Use DEFAULT_DIRECTORY_FALLBACK here, instead of conditionalising on WIN32_NATIVE. * editfns.c (get_home_directory): Use DEFAULT_DIRECTORY_FALLBACK if looking up the home directory fails, on both Windows and Unix. * buffer.c (init_initial_directory): Don't give a fatal error if the current directory doesn't exist, chdir to DEFAULT_DIRECTORY_FALLBACK instead.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 08 Nov 2009 17:27:26 +0000
parents 80cd90837ac5
children d261888e5069
line wrap: on
line diff
--- a/src/editfns.c	Mon Nov 02 14:00:49 2009 +0900
+++ b/src/editfns.c	Sun Nov 08 17:27:26 2009 +0000
@@ -862,20 +862,15 @@
 			  homepath);
 	    }
 	  else
+#endif	/* !WIN32_NATIVE */
 	    {
-	      cached_home_directory = qxestrdup ((Ibyte *) "C:\\");
+              /* Unix, typically.
+                 Using "/" isn't quite right, but what should we do?
+                 We probably should try to extract pw_dir from /etc/passwd,
+                 before falling back to this. */
+	      cached_home_directory = qxestrdup (DEFAULT_DIRECTORY_FALLBACK);
 	      output_home_warning = 1;
 	    }
-#else	/* !WIN32_NATIVE */
-	  /*
-	   * Unix, typically.
-	   * Using "/" isn't quite right, but what should we do?
-	   * We probably should try to extract pw_dir from /etc/passwd,
-	   * before falling back to this.
-	   */
-	  cached_home_directory = qxestrdup ((Ibyte *) "/");
-	  output_home_warning = 1;
-#endif	/* !WIN32_NATIVE */
 	}
       if (initialized && output_home_warning)
 	{