[balsa] Replace custom macro with Glib
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa] Replace custom macro with Glib
- Date: Sat, 1 Dec 2018 15:06:55 +0000 (UTC)
commit 62fa27672594f5a91212524ccb3f7d2f7774bc79
Author: Albrecht Dreß <albrecht dress arcor de>
Date: Fri Nov 30 14:19:08 2018 -0500
Replace custom macro with Glib
Replace custom ELEMENTS macro with Glib G_N_ELEMENTS
* libbalsa/filter-funcs.c (libbalsa_condition_new_from_string),
(append_header_names), (append_flag_names):
* libbalsa/identity.c (md_sig_path_changed):
* libbalsa/imap/imap-commands.c (need_fetch), (imap_mbox_status),
(enum_flag_to_str):
* libbalsa/imap/imap-handle.c (ir_capability_data),
(ir_resp_text_code), (ir_list_lsub), (ir_status),
(ir_msg_att_flags), (ir_fetch_seq), (ir_handle_response):
* libbalsa/libbalsa.h:
* libbalsa/mailbox.c (mbox_model_get_value):
* src/balsa-index.c (bndx_instance_init), (bndx_popup_menu_create):
* src/balsa-mblist.c (balsa_mblist_default_signal_bindings):
* src/filter-edit-callbacks.c (build_condition_dialog):
* src/filter-edit-dialog.c (build_match_page), (build_action_page):
* src/main-window.c (bw_create_index_widget):
* src/sendmsg-window.c (find_locale_index_by_locale),
(create_email_entry), (sw_attachment_list), (create_text_area),
(create_lang_menu):
* src/toolbar-factory.c:
Signed-off-by: Peter Bloomfield <PeterBloomfield bellsouth net>
ChangeLog | 24 ++++++++++++++++++++++++
libbalsa/filter-funcs.c | 6 +++---
libbalsa/identity.c | 3 +--
libbalsa/imap/imap-commands.c | 10 ++++------
libbalsa/imap/imap-handle.c | 17 ++++++++---------
libbalsa/libbalsa.h | 2 --
libbalsa/mailbox.c | 2 +-
src/balsa-index.c | 4 ++--
src/balsa-mblist.c | 2 +-
src/filter-edit-callbacks.c | 2 +-
src/filter-edit-dialog.c | 4 ++--
src/main-window.c | 4 ++--
src/sendmsg-window.c | 14 +++++++-------
src/toolbar-factory.c | 3 +--
14 files changed, 57 insertions(+), 40 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index d5ca26bd9..2fa39378c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2018-11-30 Albrecht Dreß <albrecht dress arcor de>
+
+ Replace custom ELEMENTS macro with Glib G_N_ELEMENTS
+
+ * libbalsa/filter-funcs.c (libbalsa_condition_new_from_string),
+ (append_header_names), (append_flag_names):
+ * libbalsa/identity.c (md_sig_path_changed):
+ * libbalsa/imap/imap-commands.c (need_fetch), (imap_mbox_status),
+ (enum_flag_to_str):
+ * libbalsa/imap/imap-handle.c (ir_capability_data),
+ (ir_resp_text_code), (ir_list_lsub), (ir_status),
+ (ir_msg_att_flags), (ir_fetch_seq), (ir_handle_response):
+ * libbalsa/libbalsa.h:
+ * libbalsa/mailbox.c (mbox_model_get_value):
+ * src/balsa-index.c (bndx_instance_init), (bndx_popup_menu_create):
+ * src/balsa-mblist.c (balsa_mblist_default_signal_bindings):
+ * src/filter-edit-callbacks.c (build_condition_dialog):
+ * src/filter-edit-dialog.c (build_match_page), (build_action_page):
+ * src/main-window.c (bw_create_index_widget):
+ * src/sendmsg-window.c (find_locale_index_by_locale),
+ (create_email_entry), (sw_attachment_list), (create_text_area),
+ (create_lang_menu):
+ * src/toolbar-factory.c:
+
2018-11-30 Albrecht Dreß <albrecht dress arcor de>
Fix confusing signature info
diff --git a/libbalsa/filter-funcs.c b/libbalsa/filter-funcs.c
index 77d8f318e..859c8b127 100644
--- a/libbalsa/filter-funcs.c
+++ b/libbalsa/filter-funcs.c
@@ -300,7 +300,7 @@ libbalsa_condition_new_from_string(gchar **string)
*string += 4;
} else negated = FALSE;
- for(i=0; i<ELEMENTS(cond_types); i++)
+ for(i=0; i<G_N_ELEMENTS(cond_types); i++)
if(strncmp(*string, cond_types[i].key, cond_types[i].keylen) == 0) {
*string += cond_types[i].keylen;
return cond_types[i].parser(negated, string);
@@ -390,7 +390,7 @@ append_header_names(LibBalsaCondition *cond, GString *res)
g_string_append_printf(res, _("Header:%s"),
cond->match.string.user_header);
}
- for (i=0; i<ELEMENTS(header_name_map); ++i) {
+ for (i=0; i<G_N_ELEMENTS(header_name_map); ++i) {
if (CONDITION_CHKMATCH(cond, header_name_map[i].header)) {
if (res->len>0) {
g_string_append_printf(res, ",%s",
@@ -416,7 +416,7 @@ append_flag_names(LibBalsaCondition *cond, GString *res)
};
unsigned i;
gsize len = res->len;
- for (i=0; i<ELEMENTS(flag_name_map); ++i) {
+ for (i=0; i<G_N_ELEMENTS(flag_name_map); ++i) {
if (cond->match.flags & flag_name_map[i].flag) {
if (res->len == len) {
res = g_string_append(res, _(flag_name_map[i].flag_name));
diff --git a/libbalsa/identity.c b/libbalsa/identity.c
index 7c902d8af..6b2d73ecd 100644
--- a/libbalsa/identity.c
+++ b/libbalsa/identity.c
@@ -564,7 +564,6 @@ sd_response_ok(SelectDialogInfo * sdi)
* The Manage Identities dialog; called from main window.
*/
-#define ELEMENTS(x) (sizeof (x) / sizeof (x[0]))
typedef struct _IdentityDeleteInfo IdentityDeleteInfo;
/* button actions */
@@ -1328,7 +1327,7 @@ md_sig_path_changed(gboolean active, GObject * dialog)
"identity-sigpath",
};
- for (i = 0; i < ELEMENTS(button_key); i++) {
+ for (i = 0; i < G_N_ELEMENTS(button_key); i++) {
GtkWidget *button = g_object_get_data(dialog, button_key[i]);
gtk_widget_set_sensitive(button, active);
}
diff --git a/libbalsa/imap/imap-commands.c b/libbalsa/imap/imap-commands.c
index 5a73defec..d4080aad7 100644
--- a/libbalsa/imap/imap-commands.c
+++ b/libbalsa/imap/imap-commands.c
@@ -26,8 +26,6 @@
#include "siobuf-nc.h"
#include "util.h"
-#define ELEMENTS(x) (sizeof (x) / sizeof(x[0]))
-
struct fetch_data {
ImapMboxHandle* h;
ImapFetchType ift;
@@ -59,7 +57,7 @@ need_fetch(unsigned seqno, struct fetch_data* fd)
&& fd->h->msg_cache[seqno-1]->rfc822size <0) return seqno;
available_headers = fd->h->msg_cache[seqno-1]->available_headers;
- for(i=0; i<ELEMENTS(header); i++) {
+ for(i=0; i<G_N_ELEMENTS(header); i++) {
if( (fd->ift & header[i]) &&
!(available_headers & (header[i]|IMFETCH_RFC822HEADERS|
IMFETCH_RFC822HEADERS_SELECTED))) {
@@ -406,13 +404,13 @@ ImapResponse
imap_mbox_status(ImapMboxHandle *r, const char*what,
struct ImapStatusResult *res)
{
- const char *item_arr[ELEMENTS(imap_status_item_names)+1];
+ const char *item_arr[G_N_ELEMENTS(imap_status_item_names)+1];
ImapResponse rc = IMR_OK;
unsigned i, ipos;
for(ipos = i= 0; res[i].item != IMSTAT_NONE; i++) {
/* repeated items? */
- g_return_val_if_fail(i<ELEMENTS(imap_status_item_names), IMR_BAD);
+ g_return_val_if_fail(i<G_N_ELEMENTS(imap_status_item_names), IMR_BAD);
/* invalid item? */
g_return_val_if_fail(res[i].item>=IMSTAT_MESSAGES &&
res[i].item<=IMSTAT_UNSEEN, IMR_BAD);
@@ -440,7 +438,7 @@ enum_flag_to_str(ImapMsgFlags flg)
GString *flags_str = g_string_new("");
unsigned idx;
- for(idx=0; idx < ELEMENTS(imap_msg_flags); idx++) {
+ for(idx=0; idx < G_N_ELEMENTS(imap_msg_flags); idx++) {
if((flg & (1<<idx)) == 0) continue;
if(*flags_str->str) g_string_append_c(flags_str, ' ');
g_string_append_c(flags_str, '\\');
diff --git a/libbalsa/imap/imap-handle.c b/libbalsa/imap/imap-handle.c
index ff2b5c8aa..6fcc83886 100644
--- a/libbalsa/imap/imap-handle.c
+++ b/libbalsa/imap/imap-handle.c
@@ -39,7 +39,6 @@
#include "util.h"
#define LONG_STRING 512
-#define ELEMENTS(x) (sizeof (x) / sizeof(x[0]))
#define IDLE_TIMEOUT 30
@@ -2160,7 +2159,7 @@ ir_capability_data(ImapMboxHandle *handle)
do {
c = imap_get_atom(handle->sio, atom, sizeof(atom));
- for (x=0; x<ELEMENTS(capabilities); x++)
+ for (x=0; x<G_N_ELEMENTS(capabilities); x++)
if (g_ascii_strncasecmp(atom, capabilities[x],
strlen(capabilities[x])) == 0) {
handle->capabilities[x] = 1;
@@ -2274,7 +2273,7 @@ ir_resp_text_code(ImapMboxHandle *h)
int c = imap_get_atom(h->sio, buf, sizeof(buf));
ImapResponse rc = IMR_OK;
- for(o=0; o<ELEMENTS(resp_text_code); o++)
+ for(o=0; o<G_N_ELEMENTS(resp_text_code); o++)
if(g_ascii_strcasecmp(buf, resp_text_code[o]) == 0) break;
switch(o) {
@@ -2453,7 +2452,7 @@ ir_list_lsub(ImapMboxHandle *h, ImapHandleSignal signal)
unsigned i;
if(c!= '\\') return IMR_PROTOCOL;
c = imap_get_atom(h->sio, buf, sizeof(buf));
- for(i=0; i< ELEMENTS(mbx_flags); i++) {
+ for(i=0; i< G_N_ELEMENTS(mbx_flags); i++) {
if(g_ascii_strcasecmp(buf, mbx_flags[i]) ==0) {
IMAP_MBOX_SET_FLAG(flags, i);
break;
@@ -2518,7 +2517,7 @@ ir_status(ImapMboxHandle *h)
/* FIXME: process the response */
if(resp) {
unsigned idx, i;
- for(idx=0; idx<ELEMENTS(imap_status_item_names); idx++)
+ for(idx=0; idx<G_N_ELEMENTS(imap_status_item_names); idx++)
if(g_ascii_strcasecmp(item, imap_status_item_names[idx]) == 0)
break;
for(i= 0; resp[i].item != IMSTAT_NONE; i++) {
@@ -2706,7 +2705,7 @@ ir_msg_att_flags(ImapMboxHandle *h, int c, unsigned seqno)
do {
char buf[LONG_STRING];
c = imap_get_flag(h->sio, buf, sizeof(buf));
- for(i=0; i<ELEMENTS(imap_msg_flags); i++)
+ for(i=0; i<G_N_ELEMENTS(imap_msg_flags); i++)
if(buf[0] == '\\' && g_ascii_strcasecmp(imap_msg_flags[i], buf+1) == 0) {
msg->flags |= 1<<i;
break;
@@ -4030,7 +4029,7 @@ ir_fetch_seq(ImapMboxHandle *h, unsigned seqno)
atom[i] = c;
}
atom[i] = '\0';
- for(i=0; i<ELEMENTS(msg_att); i++) {
+ for(i=0; i<G_N_ELEMENTS(msg_att); i++) {
if(g_ascii_strcasecmp(atom, msg_att[i].name) == 0) {
if( (rc=msg_att[i].handler(h, c, seqno)) != IMR_OK)
return rc;
@@ -4197,7 +4196,7 @@ ir_handle_response(ImapMboxHandle *h)
c = imap_get_atom(h->sio, atom, sizeof(atom));
if (c == 0x0d)
sio_ungetc(h->sio);
- for(i=0; i<ELEMENTS(NumHandlers); i++) {
+ for(i=0; i<G_N_ELEMENTS(NumHandlers); i++) {
if(g_ascii_strncasecmp(atom, NumHandlers[i].response,
NumHandlers[i].keyword_len) == 0) {
rc = NumHandlers[i].handler(h, seqno);
@@ -4209,7 +4208,7 @@ ir_handle_response(ImapMboxHandle *h)
if (c == 0x0d)
sio_ungetc(h->sio);
- for(i=0; i<ELEMENTS(ResponseHandlers); i++) {
+ for(i=0; i<G_N_ELEMENTS(ResponseHandlers); i++) {
if(g_ascii_strncasecmp(atom, ResponseHandlers[i].response,
ResponseHandlers[i].keyword_len) == 0) {
rc = ResponseHandlers[i].handler(h);
diff --git a/libbalsa/libbalsa.h b/libbalsa/libbalsa.h
index 6471340b7..c8f3b53bf 100644
--- a/libbalsa/libbalsa.h
+++ b/libbalsa/libbalsa.h
@@ -77,8 +77,6 @@ typedef void LibBalsaCanReachCallback(GObject * object,
#include "mailbox_mh.h"
#include "mailbox_maildir.h"
-#define ELEMENTS(x) (sizeof (x) / sizeof (x[0]))
-
/*
* Error domains for GError:
*/
diff --git a/libbalsa/mailbox.c b/libbalsa/mailbox.c
index 75d798807..1d74bfd49 100644
--- a/libbalsa/mailbox.c
+++ b/libbalsa/mailbox.c
@@ -2980,7 +2980,7 @@ mbox_model_get_value(GtkTreeModel *tree_model,
g_return_if_fail(VALID_ITER(iter, tree_model));
g_return_if_fail(column >= 0 &&
- column < (int) ELEMENTS(mbox_model_col_type));
+ column < (int) G_N_ELEMENTS(mbox_model_col_type));
g_value_init (value, mbox_model_col_type[column]);
msgno = GPOINTER_TO_UINT( ((GNode*)iter->user_data)->data );
diff --git a/src/balsa-index.c b/src/balsa-index.c
index f1c898cf8..38455f792 100644
--- a/src/balsa-index.c
+++ b/src/balsa-index.c
@@ -453,7 +453,7 @@ bndx_instance_init(BalsaIndex * index)
gtk_drag_source_set(GTK_WIDGET (index),
GDK_BUTTON1_MASK | GDK_SHIFT_MASK | GDK_CONTROL_MASK,
- index_drag_types, ELEMENTS(index_drag_types),
+ index_drag_types, G_N_ELEMENTS(index_drag_types),
GDK_ACTION_DEFAULT | GDK_ACTION_COPY |
GDK_ACTION_MOVE);
g_signal_connect(index, "drag-data-get",
@@ -1840,7 +1840,7 @@ bndx_popup_menu_create(BalsaIndex * index)
menu = gtk_menu_new();
- for (i = 0; i < ELEMENTS(entries); i++)
+ for (i = 0; i < G_N_ELEMENTS(entries); i++)
create_stock_menu_item(menu, _(entries[i].label),
entries[i].func, index);
diff --git a/src/balsa-mblist.c b/src/balsa-mblist.c
index 6d3aaa692..58501d309 100644
--- a/src/balsa-mblist.c
+++ b/src/balsa-mblist.c
@@ -1269,7 +1269,7 @@ balsa_mblist_default_signal_bindings(BalsaMBList * mblist)
G_CALLBACK(bmbl_column_resize), NULL);
gtk_tree_view_enable_model_drag_dest(GTK_TREE_VIEW(mblist),
bmbl_drop_types,
- ELEMENTS(bmbl_drop_types),
+
G_N_ELEMENTS(bmbl_drop_types),
GDK_ACTION_DEFAULT |
GDK_ACTION_COPY |
GDK_ACTION_MOVE);
diff --git a/src/filter-edit-callbacks.c b/src/filter-edit-callbacks.c
index ff41d95b6..2d8bdd779 100644
--- a/src/filter-edit-callbacks.c
+++ b/src/filter-edit-callbacks.c
@@ -1184,7 +1184,7 @@ void build_condition_dialog(GtkWidget * condition_dialog)
label = gtk_label_new_with_mnemonic(_("Search T_ype:"));
gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
fe_search_option_menu =
- fe_build_option_menu(fe_search_type, ELEMENTS(fe_search_type),
+ fe_build_option_menu(fe_search_type, G_N_ELEMENTS(fe_search_type),
G_CALLBACK(fe_typesmenu_cb), field_frame);
gtk_box_pack_start(GTK_BOX(box), fe_search_option_menu, FALSE, FALSE, 5);
gtk_label_set_mnemonic_widget(GTK_LABEL(label), fe_search_option_menu);
diff --git a/src/filter-edit-dialog.c b/src/filter-edit-dialog.c
index b36835fcf..e37f80036 100644
--- a/src/filter-edit-dialog.c
+++ b/src/filter-edit-dialog.c
@@ -279,7 +279,7 @@ build_match_page()
gtk_grid_attach(GTK_GRID(page), box, 1, 1, 1, 1);
fe_op_codes_option_menu = fe_build_option_menu(fe_op_codes,
- ELEMENTS(fe_op_codes),
+ G_N_ELEMENTS(fe_op_codes),
NULL, NULL);
g_signal_connect(fe_op_codes_option_menu, "changed",
G_CALLBACK(fe_action_changed), NULL);
@@ -445,7 +445,7 @@ build_action_page(GtkWindow * window)
gtk_container_add(GTK_CONTAINER(frame), box);
fe_action_option_menu =
- fe_build_option_menu(fe_actions, ELEMENTS(fe_actions),
+ fe_build_option_menu(fe_actions, G_N_ELEMENTS(fe_actions),
G_CALLBACK(fe_action_selected), NULL);
gtk_box_pack_start(GTK_BOX(box), fe_action_option_menu,
TRUE, FALSE, 1);
diff --git a/src/main-window.c b/src/main-window.c
index 1cf09a6aa..5c221b3e7 100644
--- a/src/main-window.c
+++ b/src/main-window.c
@@ -463,7 +463,7 @@ bw_create_index_widget(BalsaWindow *bw)
unsigned i;
if(!view_filters_translated) {
- for(i=0; i<ELEMENTS(view_filters); i++)
+ for(i=0; i<G_N_ELEMENTS(view_filters); i++)
view_filters[i].str = _(view_filters[i].str);
view_filters_translated = TRUE;
}
@@ -473,7 +473,7 @@ bw_create_index_widget(BalsaWindow *bw)
bw->filter_choice = gtk_combo_box_text_new();
gtk_box_pack_start(GTK_BOX(bw->sos_bar), bw->filter_choice,
FALSE, FALSE, 0);
- for(i=0; i<ELEMENTS(view_filters); i++)
+ for(i=0; i<G_N_ELEMENTS(view_filters); i++)
gtk_combo_box_text_insert_text(GTK_COMBO_BOX_TEXT(bw->filter_choice),
i, view_filters[i].str);
gtk_combo_box_set_active(GTK_COMBO_BOX(bw->filter_choice), 0);
diff --git a/src/sendmsg-window.c b/src/sendmsg-window.c
index 4efe6f1f2..7244a76c2 100644
--- a/src/sendmsg-window.c
+++ b/src/sendmsg-window.c
@@ -681,7 +681,7 @@ find_locale_index_by_locale(const gchar * locale)
if (locale == NULL || strcmp(locale, "C") == 0)
locale = "en_US";
- for (i = 0; i < ELEMENTS(locales); i++) {
+ for (i = 0; i < G_N_ELEMENTS(locales); i++) {
for (j = 0; locale[j] && locales[i].locale[j] == locale[j]; j++);
if (j > maxfit) {
maxfit = j;
@@ -2401,7 +2401,7 @@ create_email_entry(BalsaSendmsg * bsmsg,
G_CALLBACK(address_book_cb), bsmsg);
gtk_drag_dest_set(GTK_WIDGET(*view), GTK_DEST_DEFAULT_ALL,
email_field_drop_types,
- ELEMENTS(email_field_drop_types),
+ G_N_ELEMENTS(email_field_drop_types),
GDK_ACTION_COPY | GDK_ACTION_MOVE);
libbalsa_address_view_set_domain(*view, bsmsg->ident->domain);
@@ -2718,7 +2718,7 @@ sw_attachment_list(BalsaSendmsg *bsmsg)
g_signal_connect(G_OBJECT(bsmsg->window), "drag_data_received",
G_CALLBACK(attachments_add), bsmsg);
gtk_drag_dest_set(GTK_WIDGET(bsmsg->window), GTK_DEST_DEFAULT_ALL,
- drop_types, ELEMENTS(drop_types),
+ drop_types, G_N_ELEMENTS(drop_types),
GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK);
frame = gtk_frame_new(NULL);
@@ -2936,7 +2936,7 @@ create_text_area(BalsaSendmsg * bsmsg)
G_CALLBACK(drag_data_quote), bsmsg);
/* GTK_DEST_DEFAULT_ALL in drag_set would trigger bug 150141 */
gtk_drag_dest_set(GTK_WIDGET(bsmsg->text), 0,
- drop_types, ELEMENTS(drop_types),
+ drop_types, G_N_ELEMENTS(drop_types),
GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK);
gtk_widget_show_all(scroll);
@@ -4066,9 +4066,9 @@ create_lang_menu(GtkWidget * parent, BalsaSendmsg * bsmsg)
}
if (!locales_sorted) {
- for (i = 0; i < ELEMENTS(locales); i++)
+ for (i = 0; i < G_N_ELEMENTS(locales); i++)
locales[i].lang_name = _(locales[i].lang_name);
- qsort(locales, ELEMENTS(locales), sizeof(struct SendLocales),
+ qsort(locales, G_N_ELEMENTS(locales), sizeof(struct SendLocales),
comp_send_locales);
locales_sorted = TRUE;
}
@@ -4078,7 +4078,7 @@ create_lang_menu(GtkWidget * parent, BalsaSendmsg * bsmsg)
balsa_app.spell_check_lang : setlocale(LC_CTYPE, NULL);
langs = gtk_menu_new();
- for (i = 0; i < ELEMENTS(locales); i++) {
+ for (i = 0; i < G_N_ELEMENTS(locales); i++) {
gconstpointer found;
if (locales[i].locale == NULL || locales[i].locale[0] == '\0')
diff --git a/src/toolbar-factory.c b/src/toolbar-factory.c
index 294ad8e7e..23b8cb688 100644
--- a/src/toolbar-factory.c
+++ b/src/toolbar-factory.c
@@ -177,8 +177,7 @@ button_data toolbar_buttons[]={
{"gtk-edit", N_("Edit"), FALSE},
};
-const int toolbar_button_count =
- sizeof(toolbar_buttons) / sizeof(button_data);
+const int toolbar_button_count = G_N_ELEMENTS(toolbar_buttons);
/* Public methods. */
const gchar *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]