comparison src/buffer.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 77138fc618a9
children d261888e5069
comparison
equal deleted inserted replaced
4732:2491a837112c 4733:a5210e70ffbe
2924 #endif 2924 #endif
2925 if ((initial_directory = qxe_allocating_getcwd ()) == NULL) 2925 if ((initial_directory = qxe_allocating_getcwd ()) == NULL)
2926 { 2926 {
2927 Ibyte *errmess; 2927 Ibyte *errmess;
2928 GET_STRERROR (errmess, errno); 2928 GET_STRERROR (errmess, errno);
2929 fatal ("`getcwd' failed: %s\n", errmess); 2929 stderr_out ("`getcwd' failed: %s: changing default directory to %s\n",
2930 errmess, DEFAULT_DIRECTORY_FALLBACK);
2931
2932 if (qxe_chdir (DEFAULT_DIRECTORY_FALLBACK) < 0)
2933 {
2934 GET_STRERROR (errmess, errno);
2935
2936 fatal ("could not `chdir' to `%s': %s\n",
2937 DEFAULT_DIRECTORY_FALLBACK, errmess);
2938 }
2939
2940 initial_directory = qxe_allocating_getcwd();
2941 assert (initial_directory != NULL);
2930 } 2942 }
2931 2943
2932 /* Make sure pwd is DIRECTORY_SEP-terminated. 2944 /* Make sure pwd is DIRECTORY_SEP-terminated.
2933 Maybe this should really use some standard subroutine 2945 Maybe this should really use some standard subroutine
2934 whose definition is filename syntax dependent. */ 2946 whose definition is filename syntax dependent. */