balsa r7859 - in branches/mailbox-gsequence: . libbalsa
- From: PeterB svn gnome org
- To: svn-commits-list gnome org
- Subject: balsa r7859 - in branches/mailbox-gsequence: . libbalsa
- Date: Tue, 19 Feb 2008 00:05:36 +0000 (GMT)
Author: PeterB
Date: Tue Feb 19 00:05:36 2008
New Revision: 7859
URL: http://svn.gnome.org/viewvc/balsa?rev=7859&view=rev
Log:
take more care in public methods
Modified:
branches/mailbox-gsequence/ChangeLog
branches/mailbox-gsequence/libbalsa/mailbox.c
Modified: branches/mailbox-gsequence/libbalsa/mailbox.c
==============================================================================
--- branches/mailbox-gsequence/libbalsa/mailbox.c (original)
+++ branches/mailbox-gsequence/libbalsa/mailbox.c Tue Feb 19 00:05:36 2008
@@ -379,8 +379,9 @@
LibBalsaMailboxIndexEntry *
libbalsa_mailbox_get_index_entry(LibBalsaMailbox * mailbox, guint msgno)
{
- return msgno > 0 && msgno <= mailbox->mindex->len ?
- LBM_INDEX(mailbox, msgno)->entry : NULL;
+ g_return_val_if_fail(msgno > 0 && msgno <= mailbox->mindex->len, NULL);
+
+ return LBM_INDEX(mailbox, msgno)->entry;
}
void
@@ -505,7 +506,7 @@
guint msgno;
for (msgno = 1; msgno <= mailbox->mindex->len; msgno++) {
LibBalsaMailboxIndexEntry *entry =
- libbalsa_mailbox_get_index_entry(mailbox, msgno);
+ LBM_INDEX(mailbox, msgno)->entry;
libbalsa_mailbox_index_entry_free(entry);
}
g_array_free(mailbox->mindex, TRUE);
@@ -650,10 +651,8 @@
{
LibBalsaMailboxSequenceInfo *info = g_sequence_get(node);
- if (info->children && g_sequence_get_length(info->children) == 0) {
- g_sequence_free(info->children);
- info->children = NULL;
- }
+ if (!info->children || g_sequence_get_length(info->children) == 0)
+ return NULL;
return info->children;
}
@@ -668,13 +667,6 @@
return info->children;
}
-static GSequenceIter *
-lbm_node_find(LibBalsaMailbox * mailbox, guint msgno)
-{
- return msgno > 0 && msgno <= mailbox->mindex->len ?
- LBM_INDEX(mailbox, msgno)->node : NULL;
-}
-
static gboolean
lbm_nodes_traverse(GSequence * seq, GTraverseType type,
LBMTraverseFunc func, gpointer data)
@@ -1372,7 +1364,7 @@
return;
if (iter->user_data == NULL)
- iter->user_data = lbm_node_find(mailbox, seqno);
+ iter->user_data = LBM_INDEX(mailbox, seqno)->node;
/* trying to modify seqno that is not in the tree? Possible for
* filtered views... Perhaps there is nothing to worry about.
*/
@@ -1562,6 +1554,9 @@
LibBalsaMailboxIndex *lbm_index;
GSequenceIter *node;
+ g_return_if_fail(LIBBALSA_IS_MAILBOX(mailbox));
+ g_return_if_fail(seqno > 0 && seqno <= mailbox->mindex->len);
+
g_signal_emit(mailbox, libbalsa_mailbox_signals[MESSAGE_EXPUNGED],
0, seqno);
@@ -1583,7 +1578,7 @@
g_array_remove_index(mailbox->mindex, seqno - 1);
while (seqno <= mailbox->mindex->len) {
- if ((node = lbm_node_find(mailbox, seqno)) != NULL) {
+ if ((node = LBM_INDEX(mailbox, seqno)->node) != NULL) {
LibBalsaMailboxSequenceInfo *info = g_sequence_get(node);
--info->msgno;
g_assert(info->msgno == seqno);
@@ -1610,6 +1605,7 @@
GSequenceIter *node;
g_return_if_fail(LIBBALSA_IS_MAILBOX(mailbox));
+ g_return_if_fail(seqno > 0 && seqno <= mailbox->mindex->len);
gdk_threads_enter();
@@ -1620,7 +1616,7 @@
match = search_iter ?
libbalsa_mailbox_message_match(mailbox, seqno, search_iter) : TRUE;
- if ((node = lbm_node_find(mailbox, seqno)) != NULL) {
+ if ((node = LBM_INDEX(mailbox, seqno)->node) != NULL) {
if (!match) {
gboolean filt_out = hold_selected ?
libbalsa_mailbox_msgno_has_flags(mailbox, seqno, 0,
@@ -1693,7 +1689,7 @@
g_return_val_if_fail(seqno > 0, FALSE);
if (!mailbox->msg_tree || !(tmp_iter.user_data =
- lbm_node_find(mailbox, seqno)))
+ LBM_INDEX(mailbox, seqno)->node))
return FALSE;
tmp_iter.stamp = mailbox->stamp;
@@ -3304,8 +3300,8 @@
LibBalsaMailboxIndexEntry *message_a;
LibBalsaMailboxIndexEntry *message_b;
- message_a = libbalsa_mailbox_get_index_entry(mbox, msgno_a);
- message_b = libbalsa_mailbox_get_index_entry(mbox, msgno_b);
+ message_a = LBM_INDEX(mbox, msgno_a)->entry;
+ message_b = LBM_INDEX(mbox, msgno_b)->entry;
if (!(VALID_ENTRY(message_a) && VALID_ENTRY(message_b)))
return 0;
@@ -3345,8 +3341,7 @@
static gboolean
lbm_has_valid_index_entry(LibBalsaMailbox * mailbox, guint msgno)
{
- LibBalsaMailboxIndexEntry *entry =
- libbalsa_mailbox_get_index_entry(mailbox, msgno);
+ LibBalsaMailboxIndexEntry *entry = LBM_INDEX(mailbox, msgno)->entry;
return VALID_ENTRY(entry);
}
@@ -3781,14 +3776,14 @@
g_node_traverse(new_tree, G_PRE_ORDER, G_TRAVERSE_ALL, -1,
lbm_update_msg_tree_gnode_func, &mti);
/* Remove deadwood. */
- libbalsa_mailbox_traverse(mailbox, G_POST_ORDER,
- lbm_update_msg_tree_prune, &mti);
+ lbm_nodes_traverse(mailbox->msg_tree, G_POST_ORDER,
+ lbm_update_msg_tree_prune, &mti);
/* Clear the nodes array and repopulate it with nodes in the current
* tree. */
memset(mti.nodes, 0, sizeof(gpointer) * mti.total);
- libbalsa_mailbox_traverse(mailbox, G_PRE_ORDER,
- lbm_update_msg_tree_lbmnode_func, &mti);
+ lbm_nodes_traverse(mailbox->msg_tree, G_PRE_ORDER,
+ lbm_update_msg_tree_lbmnode_func, &mti);
/* Check parent-child relationships. */
g_node_traverse(new_tree, G_PRE_ORDER, G_TRAVERSE_ALL, -1,
(GNodeTraverseFunc) lbm_update_msg_tree_move, &mti);
@@ -4086,7 +4081,7 @@
LibBalsaMailboxIndexEntry *entry;
LibBalsaMessageAttach attach_icon;
- if (!mailbox || !mailbox->mindex || mailbox->mindex->len < msgno)
+ if (!mailbox || !mailbox->mindex)
return;
entry = libbalsa_mailbox_get_index_entry(mailbox, msgno);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]