GMappedFile: return an error when trying to map a device

Previously, we were returning an empty buffer for all filenames
where fstat() gives a size of 0. But this is only appropriate
for regular files.

Also improve the documentation around this issue. Based on a
patch by Ryan Lortie.

Conflicts:

	glib/tests/mappedfile.c

https://bugzilla.gnome.org/show_bug.cgi?id=659212
This commit is contained in:
Matthias Clasen
2011-09-17 19:58:28 -04:00
parent b83e0a39fb
commit f18eab2ac7
3 changed files with 23 additions and 6 deletions

View File

@@ -36,6 +36,18 @@ test_empty (void)
g_mapped_file_free (file);
}
static void
test_device (void)
{
GError *error = NULL;
GMappedFile *file;
file = g_mapped_file_new ("/dev/null", FALSE, &error);
g_assert_error (error, G_FILE_ERROR, G_FILE_ERROR_INVAL);
g_assert (file == NULL);
g_error_free (error);
}
static void
test_nonexisting (void)
{