mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-20 07:38:54 +02:00
Merge branch 'gerror-improvements-mappedfile' into 'main'
mappedfile: Avoid some allocations See merge request GNOME/glib!4247
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user