Merge branch 'gerror-improvements-mappedfile' into 'main'

mappedfile: Avoid some allocations

See merge request GNOME/glib!4247
This commit is contained in:
Philip Withnall 2025-04-04 14:37:55 +00:00
commit 782c276d1e

View File

@ -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;
}