Change char->free to auto_char char for autocleanup

Replace `gchar` and `g_free` to `auto_gchar`
Correct certain  `char` functions/variables to `gchar`

Related to #1819.

Edited by @jubalh.
This commit is contained in:
John Hernandez
2023-07-11 13:23:58 +02:00
parent 245d69deb6
commit e1d137f4e6
62 changed files with 498 additions and 969 deletions

View File

@@ -329,13 +329,12 @@ chatwin_incoming_msg(ProfChatWin* chatwin, ProfMessage* message, gboolean win_cr
int num = wins_get_num(window);
auto_gchar gchar* display_name;
char* mybarejid = connection_get_barejid();
auto_char char* mybarejid = connection_get_barejid();
if (g_strcmp0(mybarejid, message->from_jid->barejid) == 0) {
display_name = strdup("me");
} else {
display_name = roster_get_msg_display_name(message->from_jid->barejid, message->from_jid->resourcepart);
}
free(mybarejid);
#ifdef HAVE_LIBGPGME
if (prefs_get_boolean(PREF_PGP_PUBKEY_AUTOIMPORT)) {
@@ -431,7 +430,7 @@ chatwin_outgoing_msg(ProfChatWin* chatwin, const char* const message, char* id,
ProfWin* window = (ProfWin*)chatwin;
wins_add_quotes_ac(window, message, FALSE);
char* enc_char;
auto_char char* enc_char;
if (chatwin->outgoing_char) {
enc_char = chatwin->outgoing_char;
} else if (enc_mode == PROF_MSG_ENC_OTR) {
@@ -452,8 +451,6 @@ chatwin_outgoing_msg(ProfChatWin* chatwin, const char* const message, char* id,
win_print_outgoing((ProfWin*)chatwin, enc_char, id, replace_id, message);
}
free(enc_char);
// save last id and message for LMC
if (id) {
_chatwin_set_last_message(chatwin, id, message);
@@ -465,7 +462,7 @@ chatwin_outgoing_carbon(ProfChatWin* chatwin, ProfMessage* message)
{
assert(chatwin != NULL);
char* enc_char;
auto_char char* enc_char;
if (message->enc == PROF_MSG_ENC_PGP) {
enc_char = prefs_get_pgp_char();
} else if (message->enc == PROF_MSG_ENC_OMEMO) {
@@ -479,8 +476,6 @@ chatwin_outgoing_carbon(ProfChatWin* chatwin, ProfMessage* message)
win_print_outgoing(window, enc_char, message->id, message->replace_id, message->plain);
int num = wins_get_num(window);
status_bar_active(num, WIN_CHAT, chatwin->barejid);
free(enc_char);
}
void
@@ -490,11 +485,9 @@ chatwin_contact_online(ProfChatWin* chatwin, Resource* resource, GDateTime* last
const char* show = string_from_resource_presence(resource->presence);
PContact contact = roster_get_contact(chatwin->barejid);
char* display_str = p_contact_create_display_string(contact, resource->name);
auto_char char* display_str = p_contact_create_display_string(contact, resource->name);
win_show_status_string((ProfWin*)chatwin, display_str, show, resource->status, last_activity, "++", "online");
free(display_str);
}
void
@@ -503,11 +496,9 @@ chatwin_contact_offline(ProfChatWin* chatwin, char* resource, char* status)
assert(chatwin != NULL);
PContact contact = roster_get_contact(chatwin->barejid);
char* display_str = p_contact_create_display_string(contact, resource);
auto_char char* display_str = p_contact_create_display_string(contact, resource);
win_show_status_string((ProfWin*)chatwin, display_str, "offline", status, NULL, "--", "offline");
free(display_str);
}
char*

View File

@@ -337,9 +337,8 @@ cons_show_incoming_room_message(const char* const nick, const char* const room,
if (mention) {
win_println(console, THEME_MENTION, "-", "<< room mention: %s in %s (win %d)", nick, room, ui_index);
} else if (triggers) {
char* triggers_str = _room_triggers_to_string(triggers);
auto_char char* triggers_str = _room_triggers_to_string(triggers);
win_println(console, THEME_TRIGGER, "-", "<< room trigger %s: %s in %s (win %d)", triggers_str, nick, room, ui_index);
free(triggers_str);
} else {
// 'all' or 'first' if its the first message
if ((g_strcmp0(muc_show, "all") == 0) || ((g_strcmp0(muc_show, "first") == 0) && (unread == 0))) {
@@ -387,7 +386,7 @@ cons_show_incoming_private_message(const char* const nick, const char* const roo
static void
_cons_welcome_first_start(void)
{
gchar* ident_loc = files_get_data_path(FILE_PROFANITY_IDENTIFIER);
auto_gchar gchar* ident_loc = files_get_data_path(FILE_PROFANITY_IDENTIFIER);
if (!g_file_test(ident_loc, G_FILE_TEST_EXISTS)) {
ProfWin* console = wins_get_console();
win_println(console, THEME_DEFAULT, "-", "This seems to be your first time starting Profanity.");
@@ -402,7 +401,6 @@ _cons_welcome_first_start(void)
win_println(console, THEME_DEFAULT, "-", "/register myjid myserver.org");
win_println(console, THEME_DEFAULT, "-", "");
}
g_free(ident_loc);
}
void
@@ -452,26 +450,27 @@ void
cons_check_version(gboolean not_available_msg)
{
ProfWin* console = wins_get_console();
char* latest_release = release_get_latest();
auto_char char* latest_release = release_get_latest();
if (latest_release) {
gboolean relase_valid = g_regex_match_simple("^\\d+\\.\\d+\\.\\d+$", latest_release, 0, 0);
if (!latest_release) {
return;
}
if (relase_valid) {
if (release_is_new(latest_release)) {
win_println(console, THEME_DEFAULT, "-", "A new version of Profanity is available: %s", latest_release);
win_println(console, THEME_DEFAULT, "-", "Check <https://profanity-im.github.io> for details.");
gboolean relase_valid = g_regex_match_simple("^\\d+\\.\\d+\\.\\d+$", latest_release, 0, 0);
if (relase_valid) {
if (release_is_new(latest_release)) {
win_println(console, THEME_DEFAULT, "-", "A new version of Profanity is available: %s", latest_release);
win_println(console, THEME_DEFAULT, "-", "Check <https://profanity-im.github.io> for details.");
win_println(console, THEME_DEFAULT, "-", "");
} else {
if (not_available_msg) {
win_println(console, THEME_DEFAULT, "-", "No new version available.");
win_println(console, THEME_DEFAULT, "-", "");
} else {
if (not_available_msg) {
win_println(console, THEME_DEFAULT, "-", "No new version available.");
win_println(console, THEME_DEFAULT, "-", "");
}
}
cons_alert(NULL);
}
free(latest_release);
cons_alert(NULL);
}
}
@@ -894,12 +893,10 @@ cons_show_qrcode(const char* const text)
ProfWin* console = wins_get_console();
char* buf = calloc((width * 4) + 1, 1);
char* pad = calloc((width * 4) + 5, 1);
auto_char char* buf = calloc((width * 4) + 1, 1);
auto_char char* pad = calloc((width * 4) + 5, 1);
if (!buf || !pad) {
free(pad);
free(buf);
return;
}
@@ -926,9 +923,6 @@ cons_show_qrcode(const char* const text)
win_println(console, THEME_DEFAULT, "", "");
win_println(console, THEME_DEFAULT, "", "");
free(pad);
free(buf);
QRcode_free(qrcode);
#else
cons_show("This version of Profanity has not been built with libqrencode");
@@ -953,7 +947,7 @@ cons_show_status(const char* const barejid)
void
cons_show_room_invite(const char* const invitor, const char* const room, const char* const reason)
{
char* display_from = NULL;
auto_char char* display_from = NULL;
PContact contact = roster_get_contact(invitor);
if (contact) {
if (p_contact_name(contact)) {
@@ -981,8 +975,6 @@ cons_show_room_invite(const char* const invitor, const char* const room, const c
notify_invite(display_from, room, reason);
}
free(display_from);
cons_alert(NULL);
}
@@ -1412,10 +1404,9 @@ cons_occupants_setting(void)
else
cons_show("Occupants wrap (/occupants) : OFF");
char* occupants_ch = prefs_get_occupants_char();
auto_char char* occupants_ch = prefs_get_occupants_char();
if (occupants_ch) {
cons_show("Occupants char (/occupants) : %s", occupants_ch);
free(occupants_ch);
} else {
cons_show("Occupants char (/occupants) : none");
}
@@ -1426,10 +1417,9 @@ cons_occupants_setting(void)
int size = prefs_get_occupants_size();
cons_show("Occupants size (/occupants) : %d", size);
char* header_ch = prefs_get_occupants_header_char();
auto_char char* header_ch = prefs_get_occupants_header_char();
if (header_ch) {
cons_show("Occupants header char (/occupants) : %s", header_ch);
free(header_ch);
} else {
cons_show("Occupants header char (/occupants) : none");
}
@@ -1544,50 +1534,44 @@ cons_roster_setting(void)
else
cons_show("Roster offline (/roster) : hide");
char* header_ch = prefs_get_roster_header_char();
auto_char char* header_ch = prefs_get_roster_header_char();
if (header_ch) {
cons_show("Roster header char (/roster) : %s", header_ch);
free(header_ch);
} else {
cons_show("Roster header char (/roster) : none");
}
char* contact_ch = prefs_get_roster_contact_char();
auto_char char* contact_ch = prefs_get_roster_contact_char();
if (contact_ch) {
cons_show("Roster contact char (/roster) : %s", contact_ch);
free(contact_ch);
} else {
cons_show("Roster contact char (/roster) : none");
}
char* resource_ch = prefs_get_roster_resource_char();
auto_char char* resource_ch = prefs_get_roster_resource_char();
if (resource_ch) {
cons_show("Roster resource char (/roster) : %s", resource_ch);
free(resource_ch);
} else {
cons_show("Roster resource char (/roster) : none");
}
char* room_ch = prefs_get_roster_room_char();
auto_char char* room_ch = prefs_get_roster_room_char();
if (room_ch) {
cons_show("Roster room char (/roster) : %s", room_ch);
free(room_ch);
} else {
cons_show("Roster room char (/roster) : none");
}
char* room_priv_ch = prefs_get_roster_room_private_char();
auto_char char* room_priv_ch = prefs_get_roster_room_private_char();
if (room_priv_ch) {
cons_show("Roster room private char (/roster) : %s", room_priv_ch);
free(room_priv_ch);
} else {
cons_show("Roster room private char (/roster) : none");
}
char* private_ch = prefs_get_roster_private_char();
auto_char char* private_ch = prefs_get_roster_private_char();
if (private_ch) {
cons_show("Roster private char (/roster) : %s", private_ch);
free(private_ch);
} else {
cons_show("Roster private char (/roster) : none");
}
@@ -2207,9 +2191,8 @@ cons_correction_setting(void)
cons_show("Last Message Correction (XEP-0308) (/correction) : OFF");
}
char* cc = prefs_get_correction_char();
auto_char char* cc = prefs_get_correction_char();
cons_show("LMC indication char (/correction char) : %s", cc);
free(cc);
}
void
@@ -2303,9 +2286,8 @@ cons_show_otr_prefs(void)
cons_show("OTR logging (/otr log) : Redacted");
}
char* ch = prefs_get_otr_char();
auto_char char* ch = prefs_get_otr_char();
cons_show("OTR char (/otr char) : %s", ch);
free(ch);
if (prefs_get_boolean(PREF_OTR_SENDFILE)) {
cons_show("Allow sending unencrypted files in an OTR session via /sendfile (/otr sendfile): ON");
@@ -2331,9 +2313,8 @@ cons_show_pgp_prefs(void)
cons_show("PGP logging (/pgp log) : Redacted");
}
char* ch = prefs_get_pgp_char();
auto_char char* ch = prefs_get_pgp_char();
cons_show("PGP char (/pgp char) : %s", ch);
free(ch);
if (prefs_get_boolean(PREF_PGP_SENDFILE)) {
cons_show("Allow sending unencrypted files via /sendfile while otherwise using PGP (/pgp sendfile): ON");
@@ -2362,9 +2343,8 @@ cons_show_omemo_prefs(void)
cons_show("OMEMO logging (/omemo log) : Redacted");
}
char* ch = prefs_get_omemo_char();
auto_char char* ch = prefs_get_omemo_char();
cons_show("OMEMO char (/omemo char) : %s", ch);
free(ch);
cons_alert(NULL);
}
@@ -2384,9 +2364,8 @@ cons_show_ox_prefs(void)
cons_show("OX logging (/ox log) : Redacted");
}
char* ch = prefs_get_ox_char();
auto_char char* ch = prefs_get_ox_char();
cons_show("OX char (/ox char) : %s", ch);
free(ch);
cons_alert(NULL);
}
@@ -2550,24 +2529,21 @@ void
cons_show_contact_online(PContact contact, Resource* resource, GDateTime* last_activity)
{
const char* show = string_from_resource_presence(resource->presence);
char* display_str = p_contact_create_display_string(contact, resource->name);
auto_char char* display_str = p_contact_create_display_string(contact, resource->name);
ProfWin* console = wins_get_console();
win_show_status_string(console, display_str, show, resource->status, last_activity,
"++", "online");
free(display_str);
}
void
cons_show_contact_offline(PContact contact, char* resource, char* status)
{
char* display_str = p_contact_create_display_string(contact, resource);
auto_char char* display_str = p_contact_create_display_string(contact, resource);
ProfWin* console = wins_get_console();
win_show_status_string(console, display_str, "offline", status, NULL, "--",
"offline");
free(display_str);
}
void
@@ -2593,7 +2569,7 @@ cons_alert(ProfWin* alert_origin_window)
if (current->type != WIN_CONSOLE) {
status_bar_new(1, WIN_CONSOLE, "console");
char* win_name;
auto_char char* win_name;
if (alert_origin_window) {
win_name = win_to_string(alert_origin_window);
} else {
@@ -2604,8 +2580,6 @@ cons_alert(ProfWin* alert_origin_window)
if (!item) {
alert_list = g_list_append(alert_list, g_strdup(win_name));
}
free(win_name);
}
}
@@ -2942,11 +2916,10 @@ cons_clear_alerts(void)
void
cons_remove_alert(ProfWin* window)
{
char* win_name = win_to_string(window);
auto_char char* win_name = win_to_string(window);
GList* item = g_list_find_custom(alert_list, win_name, (GCompareFunc)g_strcmp0);
alert_list = g_list_remove_link(alert_list, item);
g_list_free_full(item, g_free);
free(win_name);
}
void

View File

@@ -234,8 +234,6 @@ ui_contact_online(char* barejid, Resource* resource, GDateTime* last_activity)
// show nothing
if (g_strcmp0(p_contact_subscription(contact), "none") == 0) {
free(show_console);
free(show_chat_win);
return;
}
@@ -697,9 +695,8 @@ ui_focus_win(ProfWin* window)
}
status_bar_current(i);
char* identifier = win_get_tab_identifier(window);
auto_char char* identifier = win_get_tab_identifier(window);
status_bar_active(i, window->type, identifier);
free(identifier);
}
void

View File

@@ -652,33 +652,30 @@ _inp_rl_tab_com_handler(int count, int key, gboolean previous)
if (strncmp(rl_line_buffer, "/", 1) == 0) {
ProfWin* window = wins_get_current();
char* result = cmd_ac_complete(window, rl_line_buffer, previous);
auto_char char* result = cmd_ac_complete(window, rl_line_buffer, previous);
if (result) {
rl_replace_line(result, 1);
rl_point = rl_end;
free(result);
return 0;
}
}
if (strncmp(rl_line_buffer, ">", 1) == 0) {
ProfWin* window = wins_get_current();
char* result = win_quote_autocomplete(window, rl_line_buffer, previous);
auto_char char* result = win_quote_autocomplete(window, rl_line_buffer, previous);
if (result) {
rl_replace_line(result, 1);
rl_point = rl_end;
free(result);
return 0;
}
}
ProfWin* current = wins_get_current();
if (current->type == WIN_MUC) {
char* result = muc_autocomplete(current, rl_line_buffer, previous);
auto_char char* result = muc_autocomplete(current, rl_line_buffer, previous);
if (result) {
rl_replace_line(result, 1);
rl_point = rl_end;
free(result);
}
}

View File

@@ -515,7 +515,7 @@ mucwin_outgoing_msg(ProfMucWin* mucwin, const char* const message, const char* c
char* mynick = muc_nick(mucwin->roomjid);
// displayed message char
char* ch;
auto_char char* ch;
if (mucwin->message_char) {
ch = strdup(mucwin->message_char);
} else if (enc_mode == PROF_MSG_ENC_OTR) {
@@ -531,7 +531,6 @@ mucwin_outgoing_msg(ProfMucWin* mucwin, const char* const message, const char* c
}
win_print_outgoing_muc_msg(window, ch, mynick, id, replace_id, message);
free(ch);
// save last id and message for LMC
if (id) {
@@ -564,7 +563,7 @@ mucwin_incoming_msg(ProfMucWin* mucwin, const ProfMessage* const message, GSList
ProfWin* window = (ProfWin*)mucwin;
char* mynick = muc_nick(mucwin->roomjid);
char* ch;
auto_char char* ch;
if (mucwin->message_char) {
ch = strdup(mucwin->message_char);
} else if (message->enc == PROF_MSG_ENC_OTR) {
@@ -589,8 +588,6 @@ mucwin_incoming_msg(ProfMucWin* mucwin, const ProfMessage* const message, GSList
} else {
win_println_incoming_muc_msg(window, ch, flags, message);
}
free(ch);
}
void

View File

@@ -255,7 +255,7 @@ notify(const char* const message, int timeout, const char* const category)
#ifdef HAVE_OSXNOTIFY
GString* notify_command = g_string_new("terminal-notifier -title \"Profanity\" -message '");
char* escaped_single = str_replace(message, "'", "'\\''");
auto_char char* escaped_single = str_replace(message, "'", "'\\''");
if (escaped_single[0] == '<') {
g_string_append(notify_command, "\\<");
@@ -274,7 +274,6 @@ notify(const char* const message, int timeout, const char* const category)
}
g_string_append(notify_command, "'");
free(escaped_single);
char* term_name = getenv("TERM_PROGRAM");
char* app_id = NULL;

View File

@@ -77,10 +77,9 @@ _occuptantswin_occupant(ProfLayoutSplit* layout, GList* item, gboolean showjid,
GString* msg = g_string_new(spaces->str);
char* ch = prefs_get_occupants_char();
auto_char char* ch = prefs_get_occupants_char();
if (ch) {
g_string_append_printf(msg, "%s", ch);
free(ch);
}
gboolean wrap = prefs_get_boolean(PREF_OCCUPANTS_WRAP);
@@ -131,10 +130,9 @@ occupantswin_occupants(const char* const roomjid)
GString* prefix = g_string_new(" ");
char* ch = prefs_get_occupants_header_char();
auto_char char* ch = prefs_get_occupants_header_char();
if (ch) {
g_string_append_printf(prefix, "%s", ch);
free(ch);
}
if (prefs_get_boolean(PREF_MUC_PRIVILEGES)) {

View File

@@ -307,10 +307,9 @@ _rosterwin_unsubscribed_item(ProfLayoutSplit* layout, ProfChatWin* chatwin)
indent--;
}
}
char* ch = prefs_get_roster_contact_char();
auto_char char* ch = prefs_get_roster_contact_char();
if (ch) {
g_string_append_printf(msg, "%s", ch);
free(ch);
}
auto_gchar gchar* unreadpos = prefs_get_string(PREF_ROSTER_UNREAD);
@@ -369,10 +368,9 @@ _rosterwin_contact(ProfLayoutSplit* layout, PContact contact)
indent--;
}
}
char* ch = prefs_get_roster_contact_char();
auto_char char* ch = prefs_get_roster_contact_char();
if (ch) {
g_string_append_printf(msg, "%s", ch);
free(ch);
}
auto_gchar gchar* unreadpos = prefs_get_string(PREF_ROSTER_UNREAD);
@@ -519,10 +517,9 @@ _rosterwin_resources(ProfLayoutSplit* layout, PContact contact, int current_inde
wattron(layout->subwin, theme_attrs(resource_presence_colour));
GString* msg = g_string_new("");
char* ch = prefs_get_roster_resource_char();
auto_char char* ch = prefs_get_roster_resource_char();
if (ch) {
g_string_append_printf(msg, "%s", ch);
free(ch);
} else {
g_string_append(msg, " ");
}
@@ -581,10 +578,9 @@ _rosterwin_resources(ProfLayoutSplit* layout, PContact contact, int current_inde
g_string_append(msg, " ");
this_indent--;
}
char* ch = prefs_get_roster_resource_char();
auto_char char* ch = prefs_get_roster_resource_char();
if (ch) {
g_string_append_printf(msg, "%s", ch);
free(ch);
}
g_string_append(msg, resource->name);
if (prefs_get_boolean(PREF_ROSTER_PRIORITY)) {
@@ -741,10 +737,9 @@ _rosterwin_room(ProfLayoutSplit* layout, ProfMucWin* mucwin)
indent--;
}
}
char* ch = prefs_get_roster_room_char();
auto_char char* ch = prefs_get_roster_room_char();
if (ch) {
g_string_append_printf(msg, "%s", ch);
free(ch);
}
auto_gchar gchar* unreadpos = prefs_get_string(PREF_ROSTER_ROOMS_UNREAD);
@@ -838,10 +833,9 @@ _rosterwin_room(ProfLayoutSplit* layout, ProfMucWin* mucwin)
g_string_append_printf(privmsg, "(%d) ", privwin->unread);
}
ch = prefs_get_roster_room_private_char();
if (ch) {
g_string_append_printf(privmsg, "%s", ch);
free(ch);
auto_char char* ch2 = prefs_get_roster_room_private_char();
if (ch2) {
g_string_append_printf(privmsg, "%s", ch2);
}
char* nick = privwin->fulljid + strlen(mucwin->roomjid) + 1;
@@ -930,10 +924,9 @@ _rosterwin_private_chats(ProfLayoutSplit* layout, GList* orphaned_privchats)
g_string_append_printf(privmsg, "(%d) ", privwin->unread);
}
char* ch = prefs_get_roster_private_char();
auto_char char* ch = prefs_get_roster_private_char();
if (ch) {
g_string_append_printf(privmsg, "%s", ch);
free(ch);
}
g_string_append(privmsg, privwin->fulljid);
@@ -1011,10 +1004,9 @@ _rosterwin_unsubscribed_header(ProfLayoutSplit* layout, GList* wins)
win_sub_newline_lazy(layout->subwin);
GString* header = g_string_new(" ");
char* ch = prefs_get_roster_header_char();
auto_char char* ch = prefs_get_roster_header_char();
if (ch) {
g_string_append_printf(header, "%s", ch);
free(ch);
}
g_string_append(header, "Unsubscribed");
@@ -1057,10 +1049,9 @@ _rosterwin_contacts_header(ProfLayoutSplit* layout, const char* const title, GSL
win_sub_newline_lazy(layout->subwin);
GString* header = g_string_new(" ");
char* ch = prefs_get_roster_header_char();
auto_char char* ch = prefs_get_roster_header_char();
if (ch) {
g_string_append_printf(header, "%s", ch);
free(ch);
}
g_string_append(header, title);
@@ -1108,10 +1099,9 @@ _rosterwin_rooms_header(ProfLayoutSplit* layout, GList* rooms, char* title)
{
win_sub_newline_lazy(layout->subwin);
GString* header = g_string_new(" ");
char* ch = prefs_get_roster_header_char();
auto_char char* ch = prefs_get_roster_header_char();
if (ch) {
g_string_append_printf(header, "%s", ch);
free(ch);
}
g_string_append(header, title);
@@ -1170,10 +1160,9 @@ _rosterwin_private_header(ProfLayoutSplit* layout, GList* privs)
win_sub_newline_lazy(layout->subwin);
GString* title_str = g_string_new(" ");
char* ch = prefs_get_roster_header_char();
auto_char char* ch = prefs_get_roster_header_char();
if (ch) {
g_string_append_printf(title_str, "%s", ch);
free(ch);
}
g_string_append(title_str, "Private chats");

View File

@@ -433,10 +433,9 @@ _status_bar_draw_tab(StatusBarTab* tab, int pos, int num)
pos++;
}
if (show_name) {
char* display_name = _display_name(tab);
auto_char char* display_name = _display_name(tab);
mvwprintw(statusbar_win, 0, pos, "%s", display_name);
pos += utf8_display_len(display_name);
free(display_name);
}
wattroff(statusbar_win, status_attrs);
@@ -606,10 +605,9 @@ _tabs_width(void)
if (!show_read && !is_current && !tab->highlight)
continue;
char* display_name = _display_name(tab);
auto_char char* display_name = _display_name(tab);
width += utf8_display_len(display_name);
width += 4;
free(display_name);
}
}
return width;
@@ -625,10 +623,9 @@ _tabs_width(void)
if (!show_read && !is_current && !tab->highlight)
continue;
char* display_name = _display_name(tab);
auto_char char* display_name = _display_name(tab);
width += utf8_display_len(display_name);
width += 2;
free(display_name);
}
}
return width;
@@ -710,10 +707,9 @@ _display_name(StatusBarTab* tab)
return fullname;
}
gchar* trimmed = g_utf8_substring(fullname, 0, tablen);
free(fullname);
auto_gchar gchar* trimmed = g_utf8_substring(fullname, 0, tablen);
char* trimmedname = strdup(trimmed);
g_free(trimmed);
free(fullname);
return trimmedname;
}

View File

@@ -195,13 +195,11 @@ _title_bar_draw(void)
waddch(win, ' ');
}
char* title = win_get_title(current);
auto_char char* title = win_get_title(current);
mvwprintw(win, 0, 0, " %s", title);
pos = strlen(title) + 1;
free(title);
// presence is written from the right side
// calculate it first so we have a maxposition
maxrightpos = _calc_self_presence();

View File

@@ -53,14 +53,13 @@ char*
vcardwin_get_string(ProfVcardWin* vcardwin)
{
GString* string = g_string_new("vCard: ");
char* jid = connection_get_barejid();
auto_char char* jid = connection_get_barejid();
g_string_append(string, jid);
if (vcardwin->vcard && vcardwin->vcard->modified) {
g_string_append(string, " (modified)");
}
free(jid);
return g_string_free(string, FALSE);
}

View File

@@ -387,7 +387,7 @@ win_get_title(ProfWin* window)
assert(vcardwin->memcheck == PROFVCARDWIN_MEMCHECK);
GString* title = g_string_new("vCard ");
char* jid = connection_get_barejid();
auto_char char* jid = connection_get_barejid();
g_string_append(title, jid);
@@ -395,7 +395,6 @@ win_get_title(ProfWin* window)
g_string_append(title, " *");
}
free(jid);
return g_string_free(title, FALSE);
}
}
@@ -1207,11 +1206,10 @@ win_show_vcard(ProfWin* window, vCard* vcard)
case VCARD_BIRTHDAY:
{
auto_gchar gchar* date_format = prefs_get_string(PREF_TIME_VCARD);
gchar* date = g_date_time_format(element->birthday, date_format);
auto_gchar gchar* date = g_date_time_format(element->birthday, date_format);
assert(date != NULL);
win_println(window, THEME_DEFAULT, "!", "[%d] Birthday: %s", index, date);
g_free(date);
break;
}
case VCARD_ADDRESS:
@@ -1336,14 +1334,12 @@ win_show_status_string(ProfWin* window, const char* const from,
win_append(window, presence_colour, " is %s", default_show);
if (last_activity) {
gchar* date_fmt = NULL;
auto_gchar gchar* date_fmt = NULL;
auto_gchar gchar* time_pref = prefs_get_string(PREF_TIME_LASTACTIVITY);
date_fmt = g_date_time_format(last_activity, time_pref);
assert(date_fmt != NULL);
win_append(window, presence_colour, ", last activity: %s", date_fmt);
g_free(date_fmt);
}
if (status)
@@ -1406,7 +1402,7 @@ win_print_incoming(ProfWin* window, const char* const display_name_from, ProfMes
switch (window->type) {
case WIN_CHAT:
{
char* enc_char;
auto_char char* enc_char;
ProfChatWin* chatwin = (ProfChatWin*)window;
if (chatwin->incoming_char) {
@@ -1431,8 +1427,6 @@ win_print_incoming(ProfWin* window, const char* const display_name_from, ProfMes
_win_printf(window, enc_char, 0, message->timestamp, flags, THEME_TEXT_THEM, display_name_from, message->from_jid->barejid, message->id, "%s", message->plain);
}
}
free(enc_char);
break;
}
case WIN_PRIVATE:
@@ -1926,7 +1920,7 @@ _win_print_wrapped(WINDOW* win, const char* const message, size_t indent, int pa
{
int starty = getcury(win);
int wordi = 0;
char* word = malloc(strlen(message) + 1);
auto_char char* word = malloc(strlen(message) + 1);
gchar* curr_ch = g_utf8_offset_to_pointer(message, 0);
@@ -2033,8 +2027,6 @@ _win_print_wrapped(WINDOW* win, const char* const message, size_t indent, int pa
curr_ch = g_utf8_next_char(curr_ch);
}
}
free(word);
}
void

View File

@@ -949,13 +949,12 @@ wins_swap(int source_win, int target_win)
g_hash_table_steal(windows, GINT_TO_POINTER(source_win));
g_hash_table_insert(windows, GINT_TO_POINTER(target_win), source);
status_bar_inactive(source_win);
char* identifier = win_get_tab_identifier(source);
auto_char char* identifier = win_get_tab_identifier(source);
if (win_unread(source) > 0) {
status_bar_new(target_win, source->type, identifier);
} else {
status_bar_active(target_win, source->type, identifier);
}
free(identifier);
if (wins_get_current_num() == source_win) {
wins_set_current_by_num(target_win);
ui_focus_win(console);
@@ -967,8 +966,8 @@ wins_swap(int source_win, int target_win)
g_hash_table_steal(windows, GINT_TO_POINTER(target_win));
g_hash_table_insert(windows, GINT_TO_POINTER(source_win), target);
g_hash_table_insert(windows, GINT_TO_POINTER(target_win), source);
char* source_identifier = win_get_tab_identifier(source);
char* target_identifier = win_get_tab_identifier(target);
auto_char char* source_identifier = win_get_tab_identifier(source);
auto_char char* target_identifier = win_get_tab_identifier(target);
if (win_unread(source) > 0) {
status_bar_new(target_win, source->type, source_identifier);
} else {
@@ -979,8 +978,6 @@ wins_swap(int source_win, int target_win)
} else {
status_bar_active(source_win, target->type, target_identifier);
}
free(source_identifier);
free(target_identifier);
if ((wins_get_current_num() == source_win) || (wins_get_current_num() == target_win)) {
ui_focus_win(console);
}
@@ -1088,7 +1085,7 @@ wins_tidy(void)
GList* curr = keys;
while (curr) {
ProfWin* window = g_hash_table_lookup(windows, curr->data);
char* identifier = win_get_tab_identifier(window);
auto_char char* identifier = win_get_tab_identifier(window);
g_hash_table_steal(windows, curr->data);
if (num == 10) {
g_hash_table_insert(new_windows, GINT_TO_POINTER(0), window);
@@ -1105,7 +1102,6 @@ wins_tidy(void)
status_bar_active(num, window->type, identifier);
}
}
free(identifier);
num++;
curr = g_list_next(curr);
}
@@ -1142,14 +1138,13 @@ wins_create_summary(gboolean unread)
GString* line = g_string_new("");
int ui_index = GPOINTER_TO_INT(curr->data);
char* winstring = win_to_string(window);
auto_char char* winstring = win_to_string(window);
if (!winstring) {
g_string_free(line, TRUE);
continue;
}
g_string_append_printf(line, "%d: %s", ui_index, winstring);
free(winstring);
result = g_slist_append(result, strdup(line->str));
g_string_free(line, TRUE);
@@ -1188,14 +1183,13 @@ wins_create_summary_attention()
GString* line = g_string_new("");
int ui_index = GPOINTER_TO_INT(curr->data);
char* winstring = win_to_string(window);
auto_char char* winstring = win_to_string(window);
if (!winstring) {
g_string_free(line, TRUE);
continue;
}
g_string_append_printf(line, "%d: %s", ui_index, winstring);
free(winstring);
result = g_slist_append(result, strdup(line->str));
g_string_free(line, TRUE);