mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-23 18:52:09 +01:00
measure_disk_usage: properly report results
In the async case, make sure we copy all of the out parameters from the results structure, not just 'disk_usage'.
This commit is contained in:
parent
dbf95a5ae9
commit
b72c466653
16
gio/gfile.c
16
gio/gfile.c
@ -7494,19 +7494,25 @@ g_file_real_measure_disk_usage_finish (GFile *file,
|
||||
guint64 *num_files,
|
||||
GError **error)
|
||||
{
|
||||
guint64 *reported_usage;
|
||||
MeasureResult *measure_result;
|
||||
|
||||
g_return_val_if_fail (g_task_is_valid (result, file), FALSE);
|
||||
|
||||
reported_usage = g_task_propagate_pointer (G_TASK (result), error);
|
||||
measure_result = g_task_propagate_pointer (G_TASK (result), error);
|
||||
|
||||
if (reported_usage == NULL)
|
||||
if (measure_result == NULL)
|
||||
return FALSE;
|
||||
|
||||
if (disk_usage)
|
||||
*disk_usage = *reported_usage;
|
||||
*disk_usage = measure_result->disk_usage;
|
||||
|
||||
g_free (reported_usage);
|
||||
if (num_dirs)
|
||||
*num_dirs = measure_result->num_dirs;
|
||||
|
||||
if (num_files)
|
||||
*num_files = measure_result->num_files;
|
||||
|
||||
g_free (measure_result);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user