# HG changeset patch # User Romain Francoise # Date 1126382128 0 # Node ID 170f43effa81ab270b0f7cb5e425b343eef8dcde # Parent 035ea9e34f56cf6a3f3aca1d8e6d40b5cb1e8d4d (init_buffer): Grow buffer to add directory separator and terminal zero. diff -r 035ea9e34f56 -r 170f43effa81 src/ChangeLog --- a/src/ChangeLog Sat Sep 10 15:51:28 2005 +0000 +++ b/src/ChangeLog Sat Sep 10 19:55:28 2005 +0000 @@ -1,3 +1,8 @@ +2005-09-10 Romain Francoise + + * buffer.c (init_buffer): Grow buffer to add directory separator + and terminal zero. + 2005-09-10 Eli Zaretskii * buffer.c (init_buffer): Fix error message for failed call to diff -r 035ea9e34f56 -r 170f43effa81 src/buffer.c --- a/src/buffer.c Sat Sep 10 15:51:28 2005 +0000 +++ b/src/buffer.c Sat Sep 10 19:55:28 2005 +0000 @@ -5135,7 +5135,7 @@ pwd = get_current_dir_name (); - if(!pwd) + if (!pwd) fatal ("`get_current_dir_name' failed: %s\n", strerror (errno)); #ifndef VMS @@ -5144,6 +5144,8 @@ rc = strlen (pwd); if (!(IS_DIRECTORY_SEP (pwd[rc - 1]))) { + /* Grow buffer to add directory separator and '\0'. */ + pwd = (char *) xrealloc (pwd, rc + 2); pwd[rc] = DIRECTORY_SEP; pwd[rc + 1] = '\0'; } @@ -5152,7 +5154,7 @@ current_buffer->directory = make_unibyte_string (pwd, strlen (pwd)); if (! NILP (buffer_defaults.enable_multibyte_characters)) /* At this momemnt, we still don't know how to decode the - direcotry name. So, we keep the bytes in multibyte form so + directory name. So, we keep the bytes in multibyte form so that ENCODE_FILE correctly gets the original bytes. */ current_buffer->directory = string_to_multibyte (current_buffer->directory);