summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGaël Bonithon <gael@xfce.org>2021-12-29 18:18:28 +0100
committerGaël Bonithon <gael@xfce.org>2021-12-29 18:51:59 +0100
commit87b66b4993c2d24a1d8a7274bc211efd901be855 (patch)
treef735c16640274511aa854c9316de0e533f32e5d3
parentdf92863d7d4b8d8e22a40af2495483410e47f45b (diff)
downloadtumbler-87b66b4993c2d24a1d8a7274bc211efd901be855.tar.gz
Debug: Display data side-by-side when appropriate
-rw-r--r--docs/reference/tumbler/tumbler-sections.txt1
-rw-r--r--tumbler/tumbler-util.c31
-rw-r--r--tumbler/tumbler-util.h6
-rw-r--r--tumblerd/tumbler-cache-service.c14
-rw-r--r--tumblerd/tumbler-service.c2
5 files changed, 45 insertions, 9 deletions
diff --git a/docs/reference/tumbler/tumbler-sections.txt b/docs/reference/tumbler/tumbler-sections.txt
index 8ac324a..4625b78 100644
--- a/docs/reference/tumbler/tumbler-sections.txt
+++ b/docs/reference/tumbler/tumbler-sections.txt
@@ -261,6 +261,7 @@ tumbler_thumbnailer_provider_get_type
<FILE>tumbler-util</FILE>
tumbler_util_is_debug_logging_enabled
tumbler_util_dump_strv
+tumbler_util_dump_strvs_side_by_side
tumbler_util_toggle_stderr
tumbler_util_get_supported_uri_schemes
tumbler_util_get_settings
diff --git a/tumbler/tumbler-util.c b/tumbler/tumbler-util.c
index 453e131..a8ea231 100644
--- a/tumbler/tumbler-util.c
+++ b/tumbler/tumbler-util.c
@@ -87,6 +87,37 @@ tumbler_util_dump_strv (const gchar *log_domain,
+void
+tumbler_util_dump_strvs_side_by_side (const gchar *log_domain,
+ const gchar *label_1,
+ const gchar *label_2,
+ const gchar *const *strv_1,
+ const gchar *const *strv_2)
+{
+ GString *string;
+ const gchar *const *p, *const *q;
+
+ g_return_if_fail (label_1 != NULL && label_2 != NULL && strv_1 != NULL && strv_2 != NULL);
+
+ if (! tumbler_util_is_debug_logging_enabled (log_domain))
+ return;
+
+ if (g_strv_length ((GStrv) strv_1) != g_strv_length ((GStrv) strv_2))
+ g_warn_if_reached ();
+
+ string = g_string_new (NULL);
+ g_string_append_printf (string, "%s | %s:\n", label_1, label_2);
+
+ for (p = strv_1, q = strv_2; *p != NULL && *q != NULL; p++, q++)
+ g_string_append_printf (string, " %s | %s\n", *p, *q);
+
+ g_string_truncate (string, string->len - 1);
+ g_log (log_domain, G_LOG_LEVEL_DEBUG, "%s", string->str);
+ g_string_free (string, TRUE);
+}
+
+
+
/*
* This is intended to be used around too verbose third-party APIs we can't silence by
* another means:
diff --git a/tumbler/tumbler-util.h b/tumbler/tumbler-util.h
index e95d59a..686954c 100644
--- a/tumbler/tumbler-util.h
+++ b/tumbler/tumbler-util.h
@@ -34,6 +34,12 @@ void tumbler_util_dump_strv (const gchar *log_domain,
const gchar *label,
const gchar *const *strv);
+void tumbler_util_dump_strvs_side_by_side (const gchar *log_domain,
+ const gchar *label_1,
+ const gchar *label_2,
+ const gchar *const *strv_1,
+ const gchar *const *strv_2);
+
void tumbler_util_toggle_stderr (const gchar *log_domain);
gchar **tumbler_util_get_supported_uri_schemes (void) G_GNUC_MALLOC;
diff --git a/tumblerd/tumbler-cache-service.c b/tumblerd/tumbler-cache-service.c
index e2805ee..776c6d5 100644
--- a/tumblerd/tumbler-cache-service.c
+++ b/tumblerd/tumbler-cache-service.c
@@ -331,10 +331,9 @@ tumbler_cache_service_move_thread (gpointer data,
if (service->cache != NULL)
{
g_debug ("Moving files in cache for moved source files");
- tumbler_util_dump_strv (G_LOG_DOMAIN, "From URIs",
- (const gchar *const *) request->from_uris);
- tumbler_util_dump_strv (G_LOG_DOMAIN, "To URIs",
- (const gchar *const *) request->to_uris);
+ tumbler_util_dump_strvs_side_by_side (G_LOG_DOMAIN, "From URIs", "To URIs",
+ (const gchar *const *) request->from_uris,
+ (const gchar *const *) request->to_uris);
tumbler_cache_move (service->cache,
(const gchar *const *)request->from_uris,
@@ -371,10 +370,9 @@ tumbler_cache_service_copy_thread (gpointer data,
if (service->cache != NULL)
{
g_debug ("Copying files in cache for copied source files");
- tumbler_util_dump_strv (G_LOG_DOMAIN, "From URIs",
- (const gchar *const *) request->from_uris);
- tumbler_util_dump_strv (G_LOG_DOMAIN, "To URIs",
- (const gchar *const *) request->to_uris);
+ tumbler_util_dump_strvs_side_by_side (G_LOG_DOMAIN, "From URIs", "To URIs",
+ (const gchar *const *) request->from_uris,
+ (const gchar *const *) request->to_uris);
tumbler_cache_copy (service->cache,
(const gchar *const *)request->from_uris,
diff --git a/tumblerd/tumbler-service.c b/tumblerd/tumbler-service.c
index a60858e..737791b 100644
--- a/tumblerd/tumbler-service.c
+++ b/tumblerd/tumbler-service.c
@@ -765,7 +765,7 @@ tumbler_service_queue_cb (TumblerExportedService *skeleton,
handle = scheduler_request->handle;
g_debug ("Handling request %d", handle);
- tumbler_util_dump_strv (G_LOG_DOMAIN, "URIs", uris);
+ tumbler_util_dump_strvs_side_by_side (G_LOG_DOMAIN, "URIs", "Mime types", uris, mime_hints);
/* iterate over all schedulers */
for (iter = service->schedulers; iter != NULL; iter = iter->next)