diff --git a/README.in b/README.in index 52707f7dd..94a3c2a6b 100644 --- a/README.in +++ b/README.in @@ -39,6 +39,11 @@ Notes about GLib 2.24 while an object is being initialized. If this behavior is needed, setting a custom constructor that just chains up will re-enable this functionality. +* GMappedFile on an empty file now returns NULL for the contents instead of + returning an empty string. The documentation specifically states that code + may not rely on nul-termination here so any breakage caused by this change + is a bug in application code. + Notes about GLib 2.22 ===================== diff --git a/glib/gmappedfile.c b/glib/gmappedfile.c index 77865b875..347f96457 100644 --- a/glib/gmappedfile.c +++ b/glib/gmappedfile.c @@ -148,7 +148,7 @@ g_mapped_file_new (const gchar *filename, if (st.st_size == 0) { file->length = 0; - file->contents = ""; + file->contents = NULL; close (fd); return file; } @@ -242,7 +242,9 @@ g_mapped_file_get_length (GMappedFile *file) * Note that the contents may not be zero-terminated, * even if the #GMappedFile is backed by a text file. * - * Returns: the contents of @file. + * If the file is empty then %NULL is returned. + * + * Returns: the contents of @file, or %NULL. * * Since: 2.8 */