From: Alfons Hoogervorst Date: Fri, 23 Aug 2002 23:39:48 +0000 (+0000) Subject: remove unnecessary allocations for search bar fixing leaks reported by Martin Kluge... X-Git-Tag: rel_0_8_2~19 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=2e32d34b9ad4bc508ff66a54057a13b406efa8be remove unnecessary allocations for search bar fixing leaks reported by Martin Kluge (see "[ 599451 ] Further memory leaks?") --- diff --git a/ChangeLog.claws b/ChangeLog.claws index 77882238b..416238f60 100644 --- a/ChangeLog.claws +++ b/ChangeLog.claws @@ -1,3 +1,10 @@ +2002-08-25 [alfons] 0.8.1claws112 + + * src/summaryview.c + remove unnecessary allocations for search bar fixing leaks + reported by Martin Kluge + (see "[ 599451 ] Further memory leaks?") + 2002-08-24 [alfons] 0.8.1claws111 * src/main.c diff --git a/configure.in b/configure.in index 9ad2fded5..e07c36e65 100644 --- a/configure.in +++ b/configure.in @@ -8,7 +8,7 @@ MINOR_VERSION=8 MICRO_VERSION=1 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=claws111 +EXTRA_VERSION=claws112 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION dnl set $target diff --git a/src/summaryview.c b/src/summaryview.c index 80d9552d2..9048d28be 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -896,40 +896,33 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item) gint search_type = GPOINTER_TO_INT(gtk_object_get_user_data( GTK_OBJECT(GTK_MENU_ITEM(gtk_menu_get_active( GTK_MENU(summaryview->search_type)))))); - gchar *search_string = g_strdup(gtk_entry_get_text( - GTK_ENTRY(summaryview->search_string))); + gchar *search_string = gtk_entry_get_text(GTK_ENTRY(summaryview->search_string)); gchar *searched_header = NULL; not_killed = NULL; - if(search_string) - g_strdown(search_string); - - for(cur = mlist ; cur != NULL ; cur = g_slist_next(cur)) { + for (cur = mlist ; cur != NULL ; cur = g_slist_next(cur)) { MsgInfo * msginfo = (MsgInfo *) cur->data; + switch (search_type) { - case S_SEARCH_SUBJECT: - searched_header = g_strdup(msginfo->subject); - break; - case S_SEARCH_FROM: - searched_header = g_strdup(msginfo->from); - break; - case S_SEARCH_TO: - searched_header = g_strdup(msginfo->to); - break; - default: - printf("bug in search_type (=%d)\n",search_type); + case S_SEARCH_SUBJECT: + searched_header = msginfo->subject; + break; + case S_SEARCH_FROM: + searched_header = msginfo->from; + break; + case S_SEARCH_TO: + searched_header = msginfo->to; + break; + default: + debug_print("unknown search type (%d)\n", search_type); + break; } - if (searched_header) - g_strdown(searched_header); - if (searched_header - && strstr(searched_header, search_string) != NULL) + if (searched_header && strcasestr(searched_header, search_string) != NULL) not_killed = g_slist_append(not_killed, msginfo); else procmsg_msginfo_free(msginfo); } g_slist_free(mlist); - g_free(search_string); - g_free(searched_header); mlist = not_killed; }