commit 849d2217465d75aab338c2318ee7c9fa6002b341 from: Oliver Lowe date: Fri Sep 5 08:24:52 2025 UTC Delete more single use globals commit - fdc4bd531cf10e88b140b509d4998b76ec8c077a commit + 849d2217465d75aab338c2318ee7c9fa6002b341 blob - 322a56f15e71f61097cb2c65215281d4b42b93fb blob + 7a3693046be49ff37fb5f3cd38dd5f20d6cc2eea --- src/common/defs.h +++ src/common/defs.h @@ -46,10 +46,7 @@ #define ACTIONS_RC "actionsrc" #define COMMAND_HISTORY "command_history" -#define DEFAULT_SIGNATURE ".signature" -#define DEFAULT_INC_PATH "/usr/bin/mh/inc" -#define DEFAULT_SENDMAIL_CMD "/usr/sbin/sendmail -t -i" #define DEFAULT_BROWSER_CMD "firefox '%s'" #define DEFAULT_EDITOR_CMD "gedit '%s'" @@ -62,15 +59,11 @@ #define FOLDER_SPACING 4 #define COLOR_DIM ((double)35000 / 65535) #define UI_REFRESH_INTERVAL 50000 /* usec */ -#define PROGRESS_UPDATE_INTERVAL 200 /* msec */ -#define SESSION_TIMEOUT_INTERVAL 60 /* sec */ -#define MAX_HISTORY_SIZE 32 #define HSPACING_NARROW 4 #define VSPACING 10 #define VSPACING_NARROW 4 #define VSPACING_NARROW_2 2 #define VBOX_BORDER 8 -#define DEFAULT_ENTRY_WIDTH 80 #define DEFAULT_PIXMAP_THEME "INTERNAL_DEFAULT" blob - 83f9752a02e6d4d132d74a08cd0137ed18add9e2 blob + faad4fd71fab6822cc953363bf01d27ac70781f6 --- src/common/utils.c +++ src/common/utils.c @@ -749,12 +749,13 @@ GList *add_history(GList *list, const gchar *str) cm_return_val_if_fail(str != NULL, list); + uint maxhist = 32; old = g_list_find_custom(list, (gpointer)str, (GCompareFunc)g_strcmp0); if (old) { oldstr = old->data; list = g_list_remove(list, old->data); g_free(oldstr); - } else if (g_list_length(list) >= MAX_HISTORY_SIZE) { + } else if (g_list_length(list) >= maxhist) { GList *last; last = g_list_last(list); blob - b9a90ef3d7ffb21a2d5d406843f78c184cf48c85 blob + 62e26489370dd569f2604514634f26ffa353ecde --- src/folder.c +++ src/folder.c @@ -3825,29 +3825,28 @@ void folder_item_discard_cache(FolderItem *item) } -static gchar *folder_item_get_cache_file(FolderItem *item) +static char *folder_item_get_cache_file(FolderItem *item) { - gchar *path; - gchar *file; - gchar *old_file; + if (!item) + return NULL; - cm_return_val_if_fail(item != NULL, NULL); - - path = folder_item_get_path(item); - cm_return_val_if_fail(path != NULL, NULL); + char *path = folder_item_get_path(item); + if (!path) + return NULL; if (!is_dir_exist(path)) make_dir_hier(path); - file = g_strconcat(path, "/.claws_cache", NULL); - g_free(path); - return file; + char file[PATH_MAX]; + strlcpy(file, path, sizeof(file)); + strlcat(file, "/.claws_cache", sizeof(file)); + free(path); + return strdup(file); } static gchar *folder_item_get_mark_file(FolderItem *item) { gchar *path; gchar *file; - gchar *old_file; cm_return_val_if_fail(item != NULL, NULL); cm_return_val_if_fail(item->path != NULL, NULL); blob - c55c9ee4283dd806665015ddf891a5a5497eb02d blob + 448757c17b224c61c5a0e824acfebf25d89005ef --- src/imap.c +++ src/imap.c @@ -1103,7 +1103,8 @@ new_conn: * A better solution than sending a NOOP every time would be * for every command to be prepared to retry until it is * successfully sent. -- mbp */ - if ((time(NULL) - SESSION(session)->last_access_time > SESSION_TIMEOUT_INTERVAL) || session->cancelled) { + uint timeout = 60; // seconds + if ((time(NULL) - SESSION(session)->last_access_time > timeout) || session->cancelled) { /* verify that the session is still alive */ r = imap_cmd_noop(session); @@ -2522,35 +2523,28 @@ static FolderItem *imap_create_special_folder(Folder * return new_item; } -static gchar *imap_item_get_path(Folder *folder, FolderItem *item) +char *imap_item_get_path(Folder *folder, FolderItem *item) { - gchar *folder_path, *path; - gchar *item_path = NULL; - g_return_val_if_fail(folder != NULL, NULL); g_return_val_if_fail(folder->account != NULL, NULL); g_return_val_if_fail(item != NULL, NULL); - folder_path = prefs_account_cache_dir(folder->account->recv_server, folder->account->userid); - item_path = g_strdup(item->path); - if (g_path_is_absolute(folder_path)) { - if (item_path) - path = g_strconcat(folder_path, G_DIR_SEPARATOR_S, - item_path, NULL); + char path[PATH_MAX]; + + char *dir = prefs_account_cache_dir(folder->account->recv_server, folder->account->userid); + if (g_path_is_absolute(dir)) { + if (item->path) + snprintf(path, sizeof(path), "%s/%s", dir, item->path); else - path = g_strdup(folder_path); - } else { - if (item_path) - path = g_strconcat(get_home_dir(), G_DIR_SEPARATOR_S, - folder_path, G_DIR_SEPARATOR_S, - item_path, NULL); - else - path = g_strconcat(get_home_dir(), G_DIR_SEPARATOR_S, - folder_path, NULL); + strlcpy(path, dir, sizeof(path)); + } else { + if (item->path) + snprintf(path, sizeof(path), "%s/%s/%s", get_home_dir(), dir, item->path); + else + snprintf(path, sizeof(path), "%s/%s", get_home_dir(), dir); } - g_free(folder_path); - g_free(item_path); - return path; + free(dir); + return strdup(path); } static FolderItem *imap_create_folder(Folder *folder, FolderItem *parent, blob - b19236b23063d3be6534e51caea4bbebf1d776ff blob + a1a261c9a8a46d0a00bf384a93626cea4eb142c9 --- src/inc.c +++ src/inc.c @@ -970,7 +970,8 @@ static void inc_progress_dialog_update_periodic(IncPro tv_result += G_USEC_PER_SEC; } - if (tv_result > PROGRESS_UPDATE_INTERVAL) { + uint progress_update_interval = 200; // milliseconds + if (tv_result > progress_update_interval) { inc_progress_dialog_update(inc_dialog, inc_session); tv_cur = g_date_time_add(inc_dialog->progress_tv, tv_result); g_date_time_unref(inc_dialog->progress_tv); blob - 63971b2e967f33197e38f05a916fcd3fcb404f93 blob + 8519f95a2185b02fb836e75a8abd41d1ceb4f666 --- src/prefs_account.c +++ src/prefs_account.c @@ -413,7 +413,7 @@ static PrefParam basic_param[] = { {"use_mail_command", "FALSE", &tmp_ac_prefs.use_mail_command, P_BOOL, &basic_page.mailcmd_checkbtn, prefs_set_data_from_toggle, prefs_set_toggle}, - {"mail_command", DEFAULT_SENDMAIL_CMD, &tmp_ac_prefs.mail_command, P_STRING, + {"mail_command", "/usr/sbin/sendmail -t -i", &tmp_ac_prefs.mail_command, P_STRING, &basic_page.mailcmd_entry, prefs_set_data_from_entry, prefs_set_entry}, {"user_id", NULL, &tmp_ac_prefs.userid, P_STRING, @@ -562,7 +562,7 @@ static PrefParam compose_param[] = { &compose_page.sigfile_radiobtn, prefs_account_enum_set_data_from_radiobtn, prefs_account_enum_set_radiobtn}, - {"signature_path", "~" G_DIR_SEPARATOR_S DEFAULT_SIGNATURE, + {"signature_path", "~/.signature", &tmp_ac_prefs.sig_path, P_STRING, &compose_page.entry_sigpath, prefs_set_data_from_entry, prefs_set_entry}, @@ -896,7 +896,6 @@ static void basic_create_widget_func(PrefsPage * _page acname_entry = gtk_entry_new (); gtk_widget_show (acname_entry); - gtk_widget_set_size_request (acname_entry, DEFAULT_ENTRY_WIDTH, -1); gtk_box_pack_start (GTK_BOX (hbox), acname_entry, TRUE, TRUE, 0); default_checkbtn = gtk_check_button_new_with_label (_("Set as default")); @@ -1043,14 +1042,12 @@ static void basic_create_widget_func(PrefsPage * _page uid_entry = gtk_entry_new (); gtk_widget_show (uid_entry); - gtk_widget_set_size_request (uid_entry, DEFAULT_ENTRY_WIDTH, -1); gtk_grid_attach(GTK_GRID(serv_table), uid_entry, 1, 7, 2, 1); gtk_widget_set_hexpand(uid_entry, TRUE); gtk_widget_set_halign(uid_entry, GTK_ALIGN_FILL); pass_entry = gtk_entry_new (); gtk_widget_show (pass_entry); - gtk_widget_set_size_request (pass_entry, DEFAULT_ENTRY_WIDTH, -1); gtk_grid_attach(GTK_GRID(serv_table), pass_entry, 1, 8, 2, 1); gtk_widget_set_hexpand(pass_entry, TRUE); gtk_widget_set_halign(pass_entry, GTK_ALIGN_FILL); @@ -1623,7 +1620,6 @@ static void send_create_widget_func(PrefsPage * _page, smtp_uid_entry = gtk_entry_new (); gtk_widget_show (smtp_uid_entry); - gtk_widget_set_size_request (smtp_uid_entry, DEFAULT_ENTRY_WIDTH, -1); gtk_box_pack_start (GTK_BOX (hbox), smtp_uid_entry, TRUE, TRUE, 0); label = gtk_label_new (_("Password")); @@ -1632,7 +1628,6 @@ static void send_create_widget_func(PrefsPage * _page, smtp_pass_entry = gtk_entry_new (); gtk_widget_show (smtp_pass_entry); - gtk_widget_set_size_request (smtp_pass_entry, DEFAULT_ENTRY_WIDTH, -1); gtk_box_pack_start (GTK_BOX (hbox), smtp_pass_entry, TRUE, TRUE, 0); gtk_entry_set_visibility (GTK_ENTRY (smtp_pass_entry), FALSE); gtk_entry_set_icon_from_icon_name(GTK_ENTRY(smtp_pass_entry), @@ -1886,14 +1881,13 @@ static void oauth2_create_widget_func(PrefsPage * _pag gtk_box_pack_start (GTK_BOX (vbox3), hbox, FALSE, FALSE, 0); //gtk_widget_set_size_request (hbox, -1, 50); - label = gtk_label_new (_("Authorization code")); + label = gtk_label_new ("Authorization code"); gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); oauth2_authcode_entry = gtk_entry_new (); gtk_widget_show (oauth2_authcode_entry); gtk_widget_set_margin_bottom(oauth2_authcode_entry, 8); - //gtk_widget_set_size_request (oauth2_authcode_entry, DEFAULT_ENTRY_WIDTH, -1); gtk_widget_set_tooltip_text(oauth2_authcode_entry, _("Paste complete URL from browser or the provided authorization token")); gtk_box_pack_start (GTK_BOX (hbox), oauth2_authcode_entry, TRUE, TRUE, 0); blob - 27abf5da18934c999ce2ec8c97486e4ef9a14590 blob + 2dc00742eb567ad7ffc86d9e31000f28ae8da901 --- src/prefs_common.c +++ src/prefs_common.c @@ -79,7 +79,7 @@ static PrefParam param[] = { /* Receive */ {"use_ext_inc", "FALSE", &prefs_common.use_extinc, P_BOOL, NULL, NULL, NULL}, - {"ext_inc_path", DEFAULT_INC_PATH, &prefs_common.extinc_cmd, P_STRING, + {"ext_inc_path", "/usr/bin/mh/inc", &prefs_common.extinc_cmd, P_STRING, NULL, NULL, NULL}, {"autochk_newmail", "FALSE", &prefs_common.autochk_newmail, P_BOOL,