aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/ChangeLog13
-rw-r--r--addressbook/backend/ebook/e-book-util.c10
-rw-r--r--addressbook/backend/ebook/load-pine-addressbook.c2
-rw-r--r--addressbook/gui/component/select-names/e-select-names-completion.c9
4 files changed, 22 insertions, 12 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index 91bbee8eed..b6e248d7f7 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,6 +1,19 @@
2001-09-17 Larry Ewing <lewing@ximian.com>
* gui/component/select-names/e-select-names-completion.c
+ (name_style_query): use g_strfreev.
+ (match_name): s/g_free/g_strfreev.
+ (match_file_as): s/g_free/g_strfreev.
+
+ * backend/ebook/e-book-util.c (e_book_name_and_email_query): fix
+ the memory handling here. All there members of the vector need to
+ be freed all the time.
+
+ * backend/ebook/load-pine-addressbook.c (parse_line): free the
+ string outside of the test that makes sure there are three
+ entries.
+
+ * gui/component/select-names/e-select-names-completion.c
(match_nickname): don't malloc a match we will never use.
* gui/widgets/e-addressbook-model.c (get_view): free the dup'd
diff --git a/addressbook/backend/ebook/e-book-util.c b/addressbook/backend/ebook/e-book-util.c
index 3943117ce0..5e291eb73c 100644
--- a/addressbook/backend/ebook/e-book-util.c
+++ b/addressbook/backend/ebook/e-book-util.c
@@ -417,8 +417,12 @@ e_book_name_and_email_query (EBook *book,
namev = g_strsplit (" ", name_cpy, 0);
for (i=0; namev[i]; ++i) {
if (*namev[i]) {
+ char *str = name[i];
+
namev[i] = g_strdup_printf ("(contains \"file_as\" \"%s\")", namev[i]);
++count;
+
+ g_free (str);
}
}
@@ -430,12 +434,8 @@ e_book_name_and_email_query (EBook *book,
qjoined = NULL;
}
-
g_free (name_cpy);
- for (i=0; namev[i]; ++i)
- if (*namev[i])
- g_free (namev[i]);
- g_free (namev);
+ g_strfreev (namev);
g_free (qjoined);
}
diff --git a/addressbook/backend/ebook/load-pine-addressbook.c b/addressbook/backend/ebook/load-pine-addressbook.c
index 6963a7ed46..c1d58a88bf 100644
--- a/addressbook/backend/ebook/load-pine-addressbook.c
+++ b/addressbook/backend/ebook/load-pine-addressbook.c
@@ -53,9 +53,9 @@ parse_line (EBook *book, char *line)
"email", &list,
NULL);
e_list_append(list, strings[2]);
- g_strfreev(strings);
e_book_add_card(book, card, add_card_cb, card);
}
+ g_strfreev(strings);
}
static void
diff --git a/addressbook/gui/component/select-names/e-select-names-completion.c b/addressbook/gui/component/select-names/e-select-names-completion.c
index 8472ffc4d6..0a34361c62 100644
--- a/addressbook/gui/component/select-names/e-select-names-completion.c
+++ b/addressbook/gui/component/select-names/e-select-names-completion.c
@@ -231,11 +231,8 @@ name_style_query (ESelectNamesCompletion *comp, const gchar *field)
g_free (joined);
}
- for (i=0; strv[i]; ++i)
- g_free (strv[i]);
g_free (cpy);
- g_free (strv);
-
+ g_strfreev (strv);
return query;
}
@@ -344,7 +341,7 @@ match_name (ESelectNamesCompletion *comp, EDestination *dest)
}
g_free (cpy);
- g_free (strv);
+ g_strfreev (strv);
score = match_len * 3; /* three points per match character */
@@ -454,7 +451,7 @@ match_file_as (ESelectNamesCompletion *comp, EDestination *dest)
}
g_free (cpy);
- g_free (strv);
+ g_strfreev (strv);
if (!matched)
return NULL;