In the async case, make sure we copy all of the out parameters from the
results structure, not just 'disk_usage'.
guint64 *num_files,
GError **error)
{
guint64 *num_files,
GError **error)
{
- guint64 *reported_usage;
+ MeasureResult *measure_result;
g_return_val_if_fail (g_task_is_valid (result, file), FALSE);
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)
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);