couldn't find the device. This can mean that the device file was
installed incorrectly, or that the physical device is missing or
not correctly attached to the computer.
-@G_FILE_ERROR_NODEV: This file is of a type that doesn't support
- mapping.
+@G_FILE_ERROR_NODEV: The underlying file system of the specified file
+ does not support memory mapping.
@G_FILE_ERROR_ROFS: The directory containing the new link can't be
modified because it's on a read-only file system.
@G_FILE_ERROR_TXTBSY: Text file busy.
* Maps a file into memory. On UNIX, this is using the mmap() function.
*
* If @writable is %TRUE, the mapped buffer may be modified, otherwise
- * it is an error to modify the mapped buffer. Modifications to the buffer
- * are not visible to other processes mapping the same file, and are not
+ * it is an error to modify the mapped buffer. Modifications to the buffer
+ * are not visible to other processes mapping the same file, and are not
* written back to the file.
*
* Note that modifications of the underlying file might affect the contents
- * of the #GMappedFile. Therefore, mapping should only be used if the file
+ * of the #GMappedFile. Therefore, mapping should only be used if the file
* will not be modified, or if all modifications of the file are done
- * atomically (e.g. using g_file_set_contents()).
+ * atomically (e.g. using g_file_set_contents()).
+ *
+ * If @filename is the name of an empty, regular file, the function
+ * will successfully return an empty #GMappedFile. In other cases of
+ * size 0 (e.g. device files such as /dev/null), @error will be set
+ * to the #GFileError value #G_FILE_ERROR_INVAL.
*
* Return value: a newly allocated #GMappedFile which must be unref'd
* with g_mapped_file_unref(), or %NULL if the mapping failed.
}
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)
{
GMappedFile *file;