From f5424adeef6bcd35f2f8b39487bb52b7cead5560 Mon Sep 17 00:00:00 2001 From: Antoine Fontaine <antoine.fontaine@epfl.ch> Date: Sun, 30 Jun 2019 15:37:02 +0200 Subject: [PATCH] Make moodle-provider.c accept NULL callbacks --- src/moodle-provider.c | 9 ++++++--- src/moodle-provider.h | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/moodle-provider.c b/src/moodle-provider.c index 5b41b70..e7138b4 100644 --- a/src/moodle-provider.c +++ b/src/moodle-provider.c @@ -243,7 +243,8 @@ moodle_downloaded_file_cb (GInputStream *is, write_g_input_stream_to_file (is, real_filename ?: filename_looked_for); } - final_cb (user_data, g_strdup (filename_looked_for)); + if (final_cb) + final_cb (user_data, g_strdup (filename_looked_for)); } void @@ -346,7 +347,8 @@ got_course_content_cb (GInputStream *is, struct CourseContent content = moodle_parse_course_content (html, html_size, filename); if (should_save_to_disk) write_file_async (filename, g_steal_pointer (&html), html_size); - final_cb (user_data, &content); + if (final_cb) + final_cb (user_data, &content); } @@ -364,7 +366,8 @@ got_folder_content_cb (GInputStream *is, struct FolderContent content = moodle_parse_folder_content (html, html_size, filename); if (should_save_to_disk) write_file_async (filename, g_steal_pointer (&html), html_size); - final_cb (user_data, &content); + if (final_cb) + final_cb (user_data, &content); } void diff --git a/src/moodle-provider.h b/src/moodle-provider.h index e0e5cd9..22b3643 100644 --- a/src/moodle-provider.h +++ b/src/moodle-provider.h @@ -25,6 +25,7 @@ typedef void (*courses_cb) (gpointer user_data, struct Courses); typedef void (*provider_cb) (gpointer user_data, gpointer retrieved_content); // retrieved_content will be a struct Courses *, struct FolderContent * // according to the called function name. +// when giving to a function a provider_cb, you can pass NULL instead. enum moodle_error { MOODLE_ERROR_OK, -- GitLab