about summary refs log tree commit diff stats
path: root/src/xmpp
diff options
context:
space:
mode:
authornandesu-utils <70854931+nandesu-utils@users.noreply.github.com>2022-08-25 00:10:22 +0300
committerMichael Vetter <jubalh@iodoru.org>2022-09-06 12:51:27 +0200
commite1ed012f72495e2d2bdd10520eb943fbba932ed4 (patch)
treeb79cc956bf779f7cb965431efb1f5e528ceb3ef2 /src/xmpp
parent056b19eb91c03c8a8d5f261fa38450b5238986dc (diff)
downloadprofani-tty-e1ed012f72495e2d2bdd10520eb943fbba932ed4.tar.gz
support for formatting in avatar executable
in before it just used the input command line as it was but this fixes
this by adding formatting using `format_call_external_argv` which is
already used in `url open` executable.
Diffstat (limited to 'src/xmpp')
-rw-r--r--src/xmpp/avatar.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/xmpp/avatar.c b/src/xmpp/avatar.c
index 9345ba3a..fb3b01ea 100644
--- a/src/xmpp/avatar.c
+++ b/src/xmpp/avatar.c
@@ -339,10 +339,20 @@ _avatar_request_item_result_handler(xmpp_stanza_t* const stanza, void* const use
 
     // if we shall open it
     if (g_hash_table_contains(shall_open, from_attr)) {
-        gchar* argv[] = { prefs_get_string(PREF_AVATAR_CMD), filename->str, NULL };
-        if (!call_external(argv, NULL, NULL)) {
-            cons_show_error("Unable to display avatar: check the logs for more information.");
+        gchar* cmdtemplate = prefs_get_string(PREF_AVATAR_CMD);
+
+        if (cmdtemplate == NULL) {
+            cons_show_error("No default `avatar open` command found in executables preferences.");
+        } else {
+            gchar** argv = format_call_external_argv(cmdtemplate, NULL, filename->str);
+
+            if (!call_external(argv, NULL, NULL)) {
+                cons_show_error("Unable to display avatar: check the logs for more information.");
+            }
+
+            g_strfreev(argv);
         }
+
         g_hash_table_remove(shall_open, from_attr);
     }