2008-08-06 [colin] 3.5.0cvs52
authorColin Leroy <colin@colino.net>
Wed, 6 Aug 2008 19:38:45 +0000 (19:38 +0000)
committerColin Leroy <colin@colino.net>
Wed, 6 Aug 2008 19:38:45 +0000 (19:38 +0000)
* src/addrbook.c
* src/addrcindex.c
* src/addrduplicates.c
* src/addrharvest.c
* src/enriched.c
* src/html.c
* src/ldif.c
* src/mimeview.c
* src/mutt.c
* src/pine.c
* src/procmime.c
* src/vcard.c
* src/wizard.c
Fix my use of g_utf8_strdown (it returns
a newly allocated string and doesn't
change the parameter)

16 files changed:
ChangeLog
PATCHSETS
configure.ac
src/addrbook.c
src/addrcindex.c
src/addrduplicates.c
src/addrharvest.c
src/enriched.c
src/html.c
src/ldif.c
src/mimeview.c
src/mutt.c
src/pine.c
src/procmime.c
src/vcard.c
src/wizard.c

index 035b669..1fd7725 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2008-08-06 [colin]     3.5.0cvs52
+
+       * src/addrbook.c
+       * src/addrcindex.c
+       * src/addrduplicates.c
+       * src/addrharvest.c
+       * src/enriched.c
+       * src/html.c
+       * src/ldif.c
+       * src/mimeview.c
+       * src/mutt.c
+       * src/pine.c
+       * src/procmime.c
+       * src/vcard.c
+       * src/wizard.c
+               Fix my use of g_utf8_strdown (it returns
+               a newly allocated string and doesn't
+               change the parameter)
+
 2008-08-06 [colin]     3.5.0cvs51
 
        * src/compose.c
index c73fe48..5f63448 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.105.2.140 -r 1.105.2.141 src/prefs_account.c;  cvs diff -u -r 1.1.4.54 -r 1.1.4.55 src/prefs_filtering_action.c;  cvs diff -u -r 1.43.2.74 -r 1.43.2.75 src/prefs_matcher.c;  cvs diff -u -r 1.20.2.16 -r 1.20.2.17 src/gtk/Makefile.am;  cvs diff -u -r 1.1.2.1 -r 1.1.2.2 src/gtk/claws-marshal.list;  cvs diff -u -r 1.2.2.21 -r 1.2.2.22 src/gtk/colorlabel.c;  cvs diff -u -r 1.1.4.11 -r 1.1.4.12 src/gtk/colorsel.c;  cvs diff -u -r 1.1.2.16 -r 1.1.2.17 src/gtk/foldersort.c;  cvs diff -u -r 1.9.2.57 -r 1.9.2.58 src/gtk/gtkaspell.c;  diff -u /dev/null src/gtk/gtkcmclist.c;  diff -u /dev/null src/gtk/gtkcmclist.h;  diff -u /dev/null src/gtk/gtkcmctree.c;  diff -u /dev/null src/gtk/gtkcmctree.h;  diff -u /dev/null src/gtk/gtkcmoptionmenu.c;  diff -u /dev/null src/gtk/gtkcmoptionmenu.h;  cvs diff -u -r 1.1.4.46 -r 1.1.4.47 src/gtk/gtksctree.c;  cvs diff -u -r 1.1.4.13 -r 1.1.4.14 src/gtk/gtksctree.h;  cvs diff -u -r 1.5.2.78 -r 1.5.2.79 src/gtk/gtkutils.c;  cvs diff -u -r 1.4.2.42 -r 1.4.2.43 src/gtk/gtkutils.h;  cvs diff -u -r 1.5.2.13 -r 1.5.2.14 src/gtk/gtkvscrollbutton.c;  cvs diff -u -r 1.5.2.34 -r 1.5.2.35 src/gtk/menu.c;  cvs diff -u -r 1.4.2.19 -r 1.4.2.20 src/gtk/menu.h;  cvs diff -u -r 1.1.2.83 -r 1.1.2.84 src/gtk/quicksearch.c;  cvs diff -u -r 1.12.2.26 -r 1.12.2.27 src/plugins/dillo_viewer/dillo_viewer.c;  cvs diff -u -r 1.1.2.20 -r 1.1.2.21 src/plugins/pgpcore/select-keys.c;  ) > 3.5.0cvs49.patchset
 ( cvs diff -u -r 1.12.2.53 -r 1.12.2.54 src/action.c;  cvs diff -u -r 1.27.2.41 -r 1.27.2.42 src/addr_compl.c;  cvs diff -u -r 1.22.2.18 -r 1.22.2.19 src/addrbook.c;  cvs diff -u -r 1.1.4.6 -r 1.1.4.7 src/addrcindex.c;  cvs diff -u -r 1.1.2.11 -r 1.1.2.12 src/addrduplicates.c;  cvs diff -u -r 1.6.10.16 -r 1.6.10.17 src/addrharvest.c;  cvs diff -u -r 1.3.2.4 -r 1.3.2.5 src/enriched.c;  cvs diff -u -r 1.12.2.23 -r 1.12.2.24 src/html.c;  cvs diff -u -r 1.12.2.16 -r 1.12.2.17 src/ldif.c;  cvs diff -u -r 1.115.2.201 -r 1.115.2.202 src/main.c;  cvs diff -u -r 1.83.2.139 -r 1.83.2.140 src/mimeview.c;  cvs diff -u -r 1.6.10.13 -r 1.6.10.14 src/mutt.c;  cvs diff -u -r 1.6.2.12 -r 1.6.2.13 src/pine.c;  cvs diff -u -r 1.49.2.109 -r 1.49.2.110 src/procmime.c;  cvs diff -u -r 1.14.2.14 -r 1.14.2.15 src/vcard.c;  cvs diff -u -r 1.1.2.71 -r 1.1.2.72 src/wizard.c;  cvs diff -u -r 1.13.2.37 -r 1.13.2.38 src/common/socket.c;  cvs diff -u -r 1.5.2.79 -r 1.5.2.80 src/gtk/gtkutils.c;  cvs diff -u -r 1.4.2.43 -r 1.4.2.44 src/gtk/gtkutils.h;  cvs diff -u -r 1.5.2.35 -r 1.5.2.36 src/gtk/menu.c;  cvs diff -u -r 1.18.2.60 -r 1.18.2.61 src/plugins/spamassassin/spamassassin.c;  ) > 3.5.0cvs50.patchset
 ( cvs diff -u -r 1.382.2.463 -r 1.382.2.464 src/compose.c;  ) > 3.5.0cvs51.patchset
+( cvs diff -u -r 1.22.2.19 -r 1.22.2.20 src/addrbook.c;  cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/addrcindex.c;  cvs diff -u -r 1.1.2.12 -r 1.1.2.13 src/addrduplicates.c;  cvs diff -u -r 1.6.10.17 -r 1.6.10.18 src/addrharvest.c;  cvs diff -u -r 1.3.2.5 -r 1.3.2.6 src/enriched.c;  cvs diff -u -r 1.12.2.24 -r 1.12.2.25 src/html.c;  cvs diff -u -r 1.12.2.17 -r 1.12.2.18 src/ldif.c;  cvs diff -u -r 1.83.2.140 -r 1.83.2.141 src/mimeview.c;  cvs diff -u -r 1.6.10.14 -r 1.6.10.15 src/mutt.c;  cvs diff -u -r 1.6.2.13 -r 1.6.2.14 src/pine.c;  cvs diff -u -r 1.49.2.110 -r 1.49.2.111 src/procmime.c;  cvs diff -u -r 1.14.2.15 -r 1.14.2.16 src/vcard.c;  cvs diff -u -r 1.1.2.72 -r 1.1.2.73 src/wizard.c;  ) > 3.5.0cvs52.patchset
index e3fa245..c838a18 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=5
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=51
+EXTRA_VERSION=52
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 60f386c..7321dec 100644 (file)
@@ -1423,9 +1423,8 @@ void addrbook_update_address_list(AddressBookFile *book, ItemPerson *person,
                node = listEMail;
                while (node) {
                        ItemEMail *email = node->data;
-                       gchar *addr = g_strdup(email->address);
                        gchar *alias = email->obj.name ;
-                       g_utf8_strdown(addr, -1);
+                       gchar *addr = g_utf8_strdown(email->address, -1);
                        if (!g_hash_table_lookup(hashEMail, addr)) {
                                g_hash_table_insert(hashEMail, addr, email);
                        }
@@ -1452,9 +1451,8 @@ void addrbook_update_address_list(AddressBookFile *book, ItemPerson *person,
                                if (ADDRITEM_PARENT(emailGrp) == ADDRITEM_OBJECT(person)) {
                                        /* Found an email address for this person */
                                        ItemEMail *emailNew = NULL;
-                                       gchar *addr = g_strdup(emailGrp->address);
                                        gchar *alias = emailGrp->obj.name;
-                                       g_utf8_strdown(addr, -1);
+                                       gchar *addr = g_utf8_strdown(emailGrp->address, -1);
                                        emailNew = (ItemEMail *)
                                                g_hash_table_lookup(hashEMail, addr);
                                        g_free( addr );
index 49fc1aa..9c95357 100644 (file)
@@ -127,9 +127,8 @@ void addrcindex_add_entry(
        AddrIndexEntry *entry;
 
        entry = g_new0( AddrIndexEntry, 1 );
-       entry->name = g_strdup( name );
        entry->address = email;
-       g_utf8_strdown( entry->name, -1 );
+       entry->name = g_utf8_strdown( name, -1 );
        index->addressList = g_list_append( index->addressList, entry );
 }
 
@@ -356,8 +355,7 @@ GList *addrcindex_search( AddrCacheIndex *index, const gchar *search ) {
                g_completion_add_items( index->completion, index->addressList );
 
                /* Perform the search */
-               prefix = g_strdup( search );
-               g_utf8_strdown( prefix, -1 );
+               prefix = g_utf8_strdown( search, -1 );
                list = g_completion_complete( index->completion, prefix, NULL );
                g_free( prefix );
 
index 1223410..692db09 100644 (file)
@@ -278,8 +278,7 @@ static gint collect_emails(ItemPerson *itemperson, AddressDataSource *ds)
        while(nodeM) {
                ItemEMail *email = nodeM->data;
 
-               addr = g_strdup(email->address);
-               g_utf8_strdown(addr, -1);
+               addr = g_utf8_strdown(email->address, -1);
                old_val = g_hash_table_lookup(addr_hash, addr);
                if(old_val)
                        new_val = deep_copy_hash_val(old_val);
index 890a84f..c44f4ab 100644 (file)
@@ -299,8 +299,7 @@ static void addrharvest_insert_cache(
        }
 
        /* Insert address */
-       key = g_strdup( address );
-       g_utf8_strdown( key, -1 );
+       key = g_utf8_strdown( address, -1 );
        person = g_hash_table_lookup( harvester->dupTable, key );
        if( person ) {
                /* Update existing person to use longest name */
@@ -807,8 +806,7 @@ gint addrharvest_harvest(
                if( entry->selected ) {
                        gchar *p;
 
-                       p = g_strdup( entry->header );
-                       g_utf8_strdown( p, -1 );
+                       p = g_utf8_strdown( entry->header, -1 );
                        listHdr = g_list_append( listHdr, p );
                }
                node = g_list_next( node );
index 4b49ece..4ef8d54 100644 (file)
@@ -166,6 +166,7 @@ static ERTFState ertf_parse_tag(ERTFParser *parser)
 {
        gchar buf[ERTFBUFSIZE];
        gchar *p;
+       gchar *down;
        
        ertf_get_parenthesis (parser, buf, sizeof(buf));
        
@@ -179,17 +180,17 @@ static ERTFState ertf_parse_tag(ERTFParser *parser)
        parser->state = ERTF_UNKNOWN;
        if (buf[0] == '\0') return parser->state;
 
-       g_utf8_strdown (buf, -1);
+       down = g_utf8_strdown (buf, -1);
 
-       if (!strcmp(buf, "nofill")) {
+       if (!strcmp(down, "nofill")) {
                parser->pre   = TRUE;
                parser->state = ERTF_NOFILL;
        }
-       else if (!strcmp(buf, "/nofill")) {
+       else if (!strcmp(down, "/nofill")) {
                parser->pre   = FALSE;
                parser->state = ERTF_NORMAL;
        }
-       
+       g_free(down);
        return parser->state;
 }
                
index dc9e3ad..dbea9f6 100644 (file)
@@ -531,13 +531,11 @@ static SC_HTMLTag *sc_html_get_tag(const gchar *str)
                ;
 
        if (*tmpp == '\0') {
-               g_utf8_strdown(tmp, -1);
-               tag->name = g_strdup(tmp);
+               tag->name = g_utf8_strdown(tmp, -1);
                return tag;
        } else {
                *tmpp++ = '\0';
-               g_utf8_strdown(tmp, -1);
-               tag->name = g_strdup(tmp);
+               tag->name = g_utf8_strdown(tmp, -1);
        }
 
        while (*tmpp != '\0') {
@@ -585,9 +583,8 @@ static SC_HTMLTag *sc_html_get_tag(const gchar *str)
                        attr_value = "";
 
                g_strchomp(attr_name);
-               g_utf8_strdown(attr_name, -1);
                attr = g_new(SC_HTMLAttr, 1);
-               attr->name = g_strdup(attr_name);
+               attr->name = g_utf8_strdown(attr_name, -1);
                attr->value = g_strdup(attr_value);
                tag->attr = g_list_append(tag->attr, attr);
        }
index 5ec8593..c0b27fb 100644 (file)
@@ -293,7 +293,7 @@ static gchar *ldif_get_tagname( char* line, gboolean *flag64 ) {
        gchar *tag = NULL;
        gchar *lptr = line;
        gchar *sptr = NULL;
-
+       gchar *down = NULL;
        while( *lptr++ ) {
                /* Check for language tag */
                if( *lptr == LDIF_LANG_TAG ) {
@@ -314,8 +314,9 @@ static gchar *ldif_get_tagname( char* line, gboolean *flag64 ) {
 
                        tag = g_strndup( line, len+1 );
                        tag[ len ] = '\0';
-                       g_utf8_strdown( tag, -1 );
-                       return tag;
+                       down = g_utf8_strdown( tag, -1 );
+                       g_free(tag);
+                       return down;
                }
        }
        return tag;
index 2106525..dc8afb4 100644 (file)
@@ -663,16 +663,16 @@ static MimeViewer *get_viewer_for_content_type(MimeView *mimeview, const gchar *
        GSList *cur;
        MimeViewerFactory *factory = NULL;
        MimeViewer *viewer = NULL;
+       gchar *real_contenttype = NULL;
 
 /*
  * FNM_CASEFOLD is a GNU extension
- * if its not defined copy the string to the stack and
- * convert the copy to lower case
  */
 #ifndef FNM_CASEFOLD
 #define FNM_CASEFOLD 0
-       Xstrdup_a(content_type, content_type, return NULL);
-       g_utf8_strdown((gchar *)content_type, -1);
+       real_contenttype = g_utf8_strdown((gchar *)content_type, -1);
+#else
+       real_contenttype = g_strdup(content_type);
 #endif
        
        for (cur = mimeviewer_factories; cur != NULL; cur = g_slist_next(cur)) {
@@ -680,7 +680,7 @@ static MimeViewer *get_viewer_for_content_type(MimeView *mimeview, const gchar *
                gint i = 0;
 
                while (curfactory->content_types[i] != NULL) {
-                       if(!fnmatch(curfactory->content_types[i], content_type, FNM_CASEFOLD)) {
+                       if(!fnmatch(curfactory->content_types[i], real_contenttype, FNM_CASEFOLD)) {
                                debug_print("%s\n", curfactory->content_types[i]);
                                factory = curfactory;
                                break;
@@ -690,6 +690,7 @@ static MimeViewer *get_viewer_for_content_type(MimeView *mimeview, const gchar *
                if (factory != NULL)
                        break;
        }
+       g_free(real_contenttype);
        if (factory == NULL)
                return NULL;
 
index 4f422bc..fb9059f 100644 (file)
@@ -324,8 +324,7 @@ static ItemEMail *mutt_insert_table(
        gchar *key;
 
        /* Test whether address already in hash table */
-       key = g_strdup( address );
-       g_utf8_strdown( key, -1 );
+       key = g_utf8_strdown( address, -1 );
        email = g_hash_table_lookup( muttFile->uniqTable, key );
 
        if( email == NULL ) {
index e05977b..a220cee 100644 (file)
@@ -434,8 +434,7 @@ static ItemEMail *pine_insert_table(
                name = "";
 
        /* Test whether address already in hash table */
-       key = g_strdup( address );
-       g_utf8_strdown( key, -1 );
+       key = g_utf8_strdown( address, -1 );
        email = g_hash_table_lookup( pineFile->uniqTable, key );
 
        if( email == NULL ) {
index ccc3aa6..53a19cc 100644 (file)
@@ -976,7 +976,7 @@ gchar *procmime_get_mime_type(const gchar *filename)
        static GHashTable *mime_type_table = NULL;
        MimeType *mime_type;
        const gchar *p;
-       gchar *ext = NULL;
+       gchar *ext = NULL, *ext_down;
        gchar *base;
 
        if (!mime_type_table) {
@@ -990,7 +990,8 @@ gchar *procmime_get_mime_type(const gchar *filename)
        g_free(base);
        if (!p) return NULL;
 
-       g_utf8_strdown(ext, -1);
+       ext_down = g_utf8_strdown(ext, -1);
+       g_free(ext); ext = ext_down;
        mime_type = g_hash_table_lookup(mime_type_table, ext);
        if (mime_type) {
                gchar *str;
@@ -1048,8 +1049,6 @@ static GHashTable *procmime_get_mime_type_table(void)
 
                exts = g_strsplit(mime_type->extension, " ", 16);
                for (i = 0; exts[i] != NULL; i++) {
-                       /* make the key case insensitive */
-                       g_utf8_strdown(exts[i], -1);
                        /* use previously dup'd key on overwriting */
                        if (g_hash_table_lookup(table, exts[i]))
                                key = exts[i];
@@ -1125,7 +1124,7 @@ GList *procmime_get_mime_type_list(void)
                }
 
                if (*p)
-                       mime_type->extension = g_strdup(p);
+                       mime_type->extension = g_utf8_strdown(p, -1);
                else
                        mime_type->extension = NULL;
 
@@ -1582,7 +1581,7 @@ static void parse_parameters(const gchar *parameters, GHashTable *table)
        gchar *params, *param, *next;
        GSList *convlist = NULL, *concatlist = NULL, *cur;
 
-       params = g_strdup(parameters);
+       params = g_utf8_strdown(parameters, -1);
        param = params;
        next = params;
        for (; next != NULL; param = next) {
@@ -1608,8 +1607,6 @@ static void parse_parameters(const gchar *parameters, GHashTable *table)
                while (value[0] == ' ')
                        value++;
 
-               g_utf8_strdown(attribute, -1);
-
                len = strlen(attribute);
                if (attribute[len - 1] == '*') {
                        gchar *srcpos, *dstpos, *endpos;
index 4a1efc4..8ef06da 100644 (file)
@@ -282,14 +282,15 @@ static gchar *vcard_get_tagname( char* line, gchar dlm ) {
        gint len = 0;
        gchar *tag = NULL;
        gchar *lptr = line;
-
+       gchar *down;
        while( *lptr++ ) {
                if( *lptr == dlm ) {
                        len = lptr - line;
                        tag = g_strndup( line, len+1 );
                        tag[ len ] = '\0';
-                       g_utf8_strdown( tag, -1 );
-                       return tag;
+                       down = g_utf8_strdown( tag, -1 );
+                       g_free(tag);
+                       return down;
                }
        }
        return tag;
index 8df0d63..27b84b1 100644 (file)
@@ -338,10 +338,10 @@ static gchar *wizard_get_default_domain_name(void)
 
 static gchar *get_name_for_mail(void)
 {
-       gchar *name = g_strdup(tmpl.name);
-       if (name == NULL)
+       gchar *name = NULL;
+       if (tmpl.name == NULL)
                return NULL;
-       g_utf8_strdown(name, -1);
+       name = g_utf8_strdown(tmpl.name, -1);
        while(strstr(name, " "))
                *strstr(name, " ")='.';