about summary refs log tree commit diff stats
path: root/src/command
diff options
context:
space:
mode:
authorMichael Vetter <jubalh@iodoru.org>2023-03-17 23:58:33 +0100
committerMichael Vetter <jubalh@iodoru.org>2023-03-21 10:53:10 +0100
commite59c401c840f379e64945734969db03b0e55ef22 (patch)
treea6a643a8a308c098a923931e02b0b8dfaf61c128 /src/command
parente5e8ff221a08939b43edf488fa2a3b8fe95169ea (diff)
downloadprofani-tty-e59c401c840f379e64945734969db03b0e55ef22.tar.gz
Adapt to g_string_free glib 2.75.3 change
glib 2.75.3 changes warning behaviour of `g_string_free()`.
See:
* https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3219
* https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3226

Use this opportunity to replace the use of GString with
`g_strdup_printf()` where possible.
Otherwise correctly take the return value of `g_string_free()`
which is nicer anyways.
Diffstat (limited to 'src/command')
-rw-r--r--src/command/cmd_ac.c12
-rw-r--r--src/command/cmd_defs.c5
-rw-r--r--src/command/cmd_funcs.c15
3 files changed, 5 insertions, 27 deletions
diff --git a/src/command/cmd_ac.c b/src/command/cmd_ac.c
index f424d401..0fc8f224 100644
--- a/src/command/cmd_ac.c
+++ b/src/command/cmd_ac.c
@@ -3817,12 +3817,7 @@ _subject_autocomplete(ProfWin* window, const char* const input, gboolean previou
 
             char* subject = muc_subject(mucwin->roomjid);
             if (subject) {
-                GString* result_str = g_string_new("/subject edit \"");
-                g_string_append(result_str, subject);
-                g_string_append(result_str, "\"");
-
-                result = result_str->str;
-                g_string_free(result_str, FALSE);
+                result = g_strdup_printf("/subject edit \"%s\"", subject);
             }
         }
     }
@@ -4260,10 +4255,7 @@ _correction_autocomplete(ProfWin* window, const char* const input, gboolean prev
 static char*
 _correct_autocomplete(ProfWin* window, const char* const input, gboolean previous)
 {
-    GString* result_str = g_string_new("/correct ");
-    g_string_append(result_str, win_get_last_sent_message(window));
-    char* result = result_str->str;
-    g_string_free(result_str, FALSE);
+    char* result = g_strdup_printf("/correct %s", win_get_last_sent_message(window));
 
     return result;
 }
diff --git a/src/command/cmd_defs.c b/src/command/cmd_defs.c
index 778d96ba..c9faed96 100644
--- a/src/command/cmd_defs.c
+++ b/src/command/cmd_defs.c
@@ -2738,10 +2738,7 @@ _cmd_index(const Command* cmd)
     }
     g_strfreev(tokens);
 
-    char* res = index->str;
-    g_string_free(index, FALSE);
-
-    return res;
+    return g_string_free(index, FALSE);
 }
 
 GList*
diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c
index dc471b90..919b7ddb 100644
--- a/src/command/cmd_funcs.c
+++ b/src/command/cmd_funcs.c
@@ -3635,12 +3635,7 @@ cmd_join(ProfWin* window, const char* const command, gchar** args)
 
         // server not supplied (room), use account preference
     } else if (account->muc_service) {
-        GString* room_str = g_string_new("");
-        g_string_append(room_str, args[0]);
-        g_string_append(room_str, "@");
-        g_string_append(room_str, account->muc_service);
-        room = room_str->str;
-        g_string_free(room_str, FALSE);
+        room = g_strdup_printf("%s@%s", args[0], account->muc_service);
 
         // no account preference
     } else {
@@ -10107,13 +10102,7 @@ cmd_vcard_photo(ProfWin* window, const char* const command, gchar** args)
                 jid_destroy(jid_occupant);
             } else {
                 // anon muc: send the vcard request through the MUC's server
-                GString* full_jid = g_string_new(mucwin->roomjid);
-                g_string_append(full_jid, "/");
-                g_string_append(full_jid, user);
-
-                jid = full_jid->str;
-
-                g_string_free(full_jid, FALSE);
+                jid = g_strdup_printf("%s/%s", mucwin->roomjid, user);
             }
         } else {
             char* jid_temp = roster_barejid_from_name(user);