Skip to content

Commit 329ca8a

Browse files
authored
Merge pull request #2014 from ventosus/issue#2013
Make `muc_nick` return a `const char* const`
2 parents baddf2a + cb395b7 commit 329ca8a

File tree

11 files changed

+23
-18
lines changed

11 files changed

+23
-18
lines changed

src/chatlog.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ void
307307
groupchat_log_msg_out(const gchar* const room, const gchar* const msg)
308308
{
309309
if (prefs_get_boolean(PREF_GRLOG)) {
310-
char* mynick = muc_nick(room);
310+
const char* const mynick = muc_nick(room);
311311
_groupchat_log_chat(connection_get_barejid(), room, mynick, msg);
312312
}
313313
}
@@ -326,7 +326,7 @@ groupchat_log_omemo_msg_out(const gchar* const room, const gchar* const msg)
326326
if (prefs_get_boolean(PREF_CHLOG)) {
327327
const char* mybarejid = connection_get_barejid();
328328
auto_gchar gchar* pref_omemo_log = prefs_get_string(PREF_OMEMO_LOG);
329-
char* mynick = muc_nick(room);
329+
const char* const mynick = muc_nick(room);
330330

331331
if (strcmp(pref_omemo_log, "on") == 0) {
332332
_groupchat_log_chat(mybarejid, room, mynick, msg);

src/command/cmd_funcs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4633,7 +4633,7 @@ cmd_bookmark(ProfWin* window, const char* const command, gchar** args)
46334633
// default to current nickname, password, and autojoin "on"
46344634
ProfMucWin* mucwin = (ProfMucWin*)window;
46354635
assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
4636-
char* nick = muc_nick(mucwin->roomjid);
4636+
const char* const nick = muc_nick(mucwin->roomjid);
46374637
char* password = muc_password(mucwin->roomjid);
46384638
gboolean added = bookmark_add(mucwin->roomjid, nick, password, "on", NULL);
46394639
if (added) {

src/event/server_events.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ sv_ev_login_account_success(char* account_name, gboolean secured)
114114
GList* curr = rooms;
115115
while (curr) {
116116
char* password = muc_password(curr->data);
117-
char* nick = muc_nick(curr->data);
117+
const char* const nick = muc_nick(curr->data);
118118
presence_join_room(curr->data, nick, password);
119119
curr = g_list_next(curr);
120120
}
@@ -336,7 +336,7 @@ sv_ev_room_message(ProfMessage* message)
336336
return;
337337
}
338338

339-
char* mynick = muc_nick(mucwin->roomjid);
339+
const char* const mynick = muc_nick(mucwin->roomjid);
340340

341341
// only log message not coming from this client (but maybe same account, different client)
342342
// our messages are logged when outgoing

src/plugins/api.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,8 @@ api_get_current_nick(void)
231231
if (current->type == WIN_MUC) {
232232
ProfMucWin* mucwin = (ProfMucWin*)current;
233233
assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK);
234-
return muc_nick(mucwin->roomjid);
234+
const char* const nick = muc_nick(mucwin->roomjid);
235+
return nick ? strdup(nick) : NULL;
235236
} else {
236237
return NULL;
237238
}
@@ -286,7 +287,9 @@ api_current_win_is_console(void)
286287
char*
287288
api_get_room_nick(const char* barejid)
288289
{
289-
return muc_nick(barejid);
290+
const char* const nick = muc_nick(barejid);
291+
292+
return nick ? strdup(nick) : NULL;
290293
}
291294

292295
void

src/plugins/python_api.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,9 @@ python_api_get_current_nick(PyObject* self, PyObject* args)
435435
char* nick = api_get_current_nick();
436436
disable_python_threads();
437437
if (nick) {
438-
return Py_BuildValue("s", nick);
438+
PyObject* obj = Py_BuildValue("s", nick);
439+
free(nick);
440+
return obj;
439441
} else {
440442
Py_RETURN_NONE;
441443
}

src/ui/core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -778,7 +778,7 @@ ui_room_join(const char* const roomjid, gboolean focus)
778778
}
779779
ProfWin* window = (ProfWin*)mucwin;
780780

781-
char* nick = muc_nick(roomjid);
781+
const char* const nick = muc_nick(roomjid);
782782
win_print(window, THEME_ROOMINFO, "!", "-> You have joined the room as %s", nick);
783783
if (prefs_get_boolean(PREF_MUC_PRIVILEGES)) {
784784
char* role = muc_role_str(roomjid);

src/ui/mucwin.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ mucwin_history(ProfMucWin* mucwin, const ProfMessage* const message)
368368
assert(mucwin != NULL);
369369

370370
char* nick = message->from_jid->resourcepart;
371-
char* mynick = muc_nick(mucwin->roomjid);
371+
const char* const mynick = muc_nick(mucwin->roomjid);
372372
GSList* mentions = get_mentions(prefs_get_boolean(PREF_NOTIFY_MENTION_WHOLE_WORD), prefs_get_boolean(PREF_NOTIFY_MENTION_CASE_SENSITIVE), message->plain, mynick);
373373
GList* triggers = prefs_message_get_triggers(message->plain);
374374

@@ -512,7 +512,7 @@ mucwin_outgoing_msg(ProfMucWin* mucwin, const char* const message, const char* c
512512
assert(mucwin != NULL);
513513

514514
ProfWin* window = (ProfWin*)mucwin;
515-
char* mynick = muc_nick(mucwin->roomjid);
515+
const char* const mynick = muc_nick(mucwin->roomjid);
516516

517517
// displayed message char
518518
auto_char char* ch = get_enc_char(enc_mode, mucwin->message_char);
@@ -548,7 +548,7 @@ mucwin_incoming_msg(ProfMucWin* mucwin, const ProfMessage* const message, GSList
548548
}
549549

550550
ProfWin* window = (ProfWin*)mucwin;
551-
char* mynick = muc_nick(mucwin->roomjid);
551+
const char* const mynick = muc_nick(mucwin->roomjid);
552552

553553
auto_char char* ch = get_enc_char(message->enc, mucwin->message_char);
554554

src/xmpp/muc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,7 @@ muc_rooms(void)
426426
* Return current users nickname for the specified room
427427
* The nickname is owned by the chat room and should not be modified or freed
428428
*/
429-
char*
429+
const char* const
430430
muc_nick(const char* const room)
431431
{
432432
ChatRoom* chat_room = g_hash_table_lookup(rooms, room);

src/xmpp/muc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ GList* muc_rooms(void);
9494

9595
void muc_set_features(const char* const room, GSList* features);
9696

97-
char* muc_nick(const char* const room);
97+
const char* const muc_nick(const char* const room);
9898
char* muc_password(const char* const room);
9999

100100
void muc_nick_change_start(const char* const room, const char* const new_nick);

src/xmpp/presence.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ _send_room_presence(xmpp_stanza_t* presence)
259259
GList* curr = rooms;
260260
while (curr) {
261261
const char* room = curr->data;
262-
const char* nick = muc_nick(room);
262+
const char* const nick = muc_nick(room);
263263

264264
if (nick) {
265265
auto_char char* full_room_jid = create_fulljid(room, nick);
@@ -327,7 +327,7 @@ presence_leave_chat_room(const char* const room_jid)
327327
{
328328
assert(room_jid != NULL);
329329

330-
char* nick = muc_nick(room_jid);
330+
const char* const nick = muc_nick(room_jid);
331331
if (!nick) {
332332
log_error("Could not get nickname for room: %s", room_jid);
333333
return;

0 commit comments

Comments
 (0)