From 5aa0abfff8867dabcb22db7119709066b7120725 Mon Sep 17 00:00:00 2001 From: Chris Toshok Date: Mon, 8 May 2000 01:00:14 +0000 Subject: comment function, and fix an ABR. * ename/e-name-western.c (e_name_western_cleanup_string): comment function, and fix an ABR. svn path=/trunk/; revision=2893 --- addressbook/ChangeLog | 5 +++++ addressbook/ename/e-name-western.c | 19 +++++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) (limited to 'addressbook') diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index d510b59338..4a73b5d248 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,3 +1,8 @@ +2000-05-07 Chris Toshok + + * ename/e-name-western.c (e_name_western_cleanup_string): comment + function, and fix an ABR. + 2000-05-08 Christopher James Lahey * gui/minicard/e-minicard.c: Added saving in minicard view. diff --git a/addressbook/ename/e-name-western.c b/addressbook/ename/e-name-western.c index 98e03a6682..755d7eabed 100644 --- a/addressbook/ename/e-name-western.c +++ b/addressbook/ename/e-name-western.c @@ -51,18 +51,25 @@ e_name_western_cleanup_string (char **str) if (*str == NULL) return; + /* skip any spaces and commas at the start of the string */ p = *str; while (isspace (*p) || *p == ',') p ++; + /* make the copy we're going to return */ newstr = g_strdup (p); - p = newstr + strlen (newstr) - 1; - while (isspace (*p) || *p == ',') - p --; - if ((! isspace (*p)) && *p != ',') - p ++; - *p = '\0'; + if ( strlen(newstr) > 0) { + /* now search from the back, skipping over any spaces and commas */ + p = newstr + strlen (newstr) - 1; + while (isspace (*p) || *p == ',') + p --; + /* advance p to after the character that caused us to exit the + previous loop, and end the string. */ + if ((! isspace (*p)) && *p != ',') + p ++; + *p = '\0'; + } g_free (*str); *str = newstr; -- cgit v1.2.3