mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-05-18 11:41:58 +02:00
Merge branch 'gerror-improvements-mappedfile' into 'main'
mappedfile: Avoid some allocations See merge request GNOME/glib!4247
This commit is contained in:
commit
782c276d1e
@ -125,6 +125,8 @@ mapped_file_new_from_fd (int fd,
|
||||
file->free_func = g_mapped_file_destroy;
|
||||
|
||||
if (fstat (fd, &st) == -1)
|
||||
{
|
||||
if (error != NULL)
|
||||
{
|
||||
int save_errno = errno;
|
||||
gchar *display_filename = filename ? g_filename_display_name (filename) : NULL;
|
||||
@ -139,6 +141,7 @@ mapped_file_new_from_fd (int fd,
|
||||
display_filename ? "'" : "",
|
||||
g_strerror (save_errno));
|
||||
g_free (display_filename);
|
||||
}
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -191,6 +194,8 @@ mapped_file_new_from_fd (int fd,
|
||||
|
||||
|
||||
if (file->contents == MAP_FAILED)
|
||||
{
|
||||
if (error != NULL)
|
||||
{
|
||||
int save_errno = errno;
|
||||
gchar *display_filename = filename ? g_filename_display_name (filename) : NULL;
|
||||
@ -205,6 +210,7 @@ mapped_file_new_from_fd (int fd,
|
||||
display_filename ? "'" : "",
|
||||
g_strerror (save_errno));
|
||||
g_free (display_filename);
|
||||
}
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -258,6 +264,8 @@ g_mapped_file_new (const gchar *filename,
|
||||
|
||||
fd = g_open (filename, (writable ? O_RDWR : O_RDONLY) | _O_BINARY | O_CLOEXEC, 0);
|
||||
if (fd == -1)
|
||||
{
|
||||
if (error != NULL)
|
||||
{
|
||||
int save_errno = errno;
|
||||
gchar *display_filename = g_filename_display_name (filename);
|
||||
@ -269,6 +277,8 @@ g_mapped_file_new (const gchar *filename,
|
||||
display_filename,
|
||||
g_strerror (save_errno));
|
||||
g_free (display_filename);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user