/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 2002-2007 Match Grun and the Claws Mail team
+ * Copyright (C) 2002-2009 Match Grun and the Claws Mail team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* value Full directory path.
*/
void addrharvest_set_path( AddressHarvester* harvester, const gchar *value ) {
- g_return_if_fail( harvester != NULL );
+ cm_return_if_fail( harvester != NULL );
harvester->path = mgu_replace_string( harvester->path, value );
g_strstrip( harvester->path );
}
void addrharvest_set_folder_size(
AddressHarvester* harvester, const gint value )
{
- g_return_if_fail( harvester != NULL );
+ cm_return_if_fail( harvester != NULL );
if( value > 0 ) {
harvester->folderSize = value;
}
void addrharvest_set_recurse(
AddressHarvester* harvester, const gboolean value )
{
- g_return_if_fail( harvester != NULL );
+ cm_return_if_fail( harvester != NULL );
harvester->folderRecurse = value;
}
{
HeaderEntry *entry;
- g_return_if_fail( harvester != NULL );
+ cm_return_if_fail( harvester != NULL );
entry = addrharvest_find( harvester, name );
if( entry != NULL ) {
entry->selected = value;
gint count;
count = -1;
- g_return_val_if_fail( harvester != NULL, count );
+ cm_return_val_if_fail( harvester != NULL, count );
entry = addrharvest_find( harvester, name );
if( entry != NULL ) {
count = entry->count;
* Enter: harvester Harvester.
*/
void addrharvest_free( AddressHarvester *harvester ) {
- g_return_if_fail( harvester != NULL );
+ cm_return_if_fail( harvester != NULL );
/* Free internal stuff */
addrharvest_free_table( harvester );
}
/* Insert address */
- key = g_strdup( address );
- g_strdown( key );
+ key = g_utf8_strdown( address, -1 );
person = g_hash_table_lookup( harvester->dupTable, key );
if( person ) {
/* Update existing person to use longest name */
/* Copy into buffer */
bufLen = ( size_t ) ( ep - bp );
- if( bufLen > ADDR_BUFFSIZE ) {
- bufLen = ADDR_BUFFSIZE;
+ if( bufLen > ADDR_BUFFSIZE -1 ) {
+ bufLen = ADDR_BUFFSIZE - 1;
}
strncpy( buffer, bp, bufLen );
buffer[ bufLen ] = '\0';
}
else {
name = buffer;
- name = conv_unmime_header(buffer, NULL);
+ name = conv_unmime_header(buffer, NULL, TRUE);
}
/* Insert into address book */
struct dirent *d;
struct stat s;
gint num;
+ int r;
if( ( dp = opendir( dir ) ) == NULL ) {
return;
}
/* Process directory */
- chdir( dir );
- while( ( d = readdir( dp ) ) != NULL ) {
- stat( d->d_name, &s );
+ r = chdir( dir );
+ while( r == 0 && ( d = readdir( dp ) ) != NULL ) {
+ g_stat( d->d_name, &s );
if( S_ISDIR( s.st_mode ) ) {
if( harvester->folderRecurse ) {
if( strstr( DIR_IGNORE, d->d_name ) != NULL )
}
}
}
- chdir( ".." );
+ r = chdir( ".." );
closedir( dp );
}
gint num;
GList *node;
gchar msgNum[ MSGNUM_BUFFSIZE ];
+ int r;
if( ( dp = opendir( harvester->path ) ) == NULL ) {
return;
}
/* Process message list */
- chdir( harvester->path );
+ r = chdir( harvester->path );
node = msgList;
while( node ) {
num = GPOINTER_TO_UINT( node->data );
GList *listHdr;
retVal = MGU_BAD_ARGS;
- g_return_val_if_fail( harvester != NULL, retVal );
- g_return_val_if_fail( cache != NULL, retVal );
- g_return_val_if_fail( harvester->path != NULL, retVal );
+ cm_return_val_if_fail( harvester != NULL, retVal );
+ cm_return_val_if_fail( cache != NULL, retVal );
+ cm_return_val_if_fail( harvester->path != NULL, retVal );
/* Clear cache */
addrcache_clear( cache );
if( entry->selected ) {
gchar *p;
- p = g_strdup( entry->header );
- g_strdown( p );
+ p = g_utf8_strdown( entry->header, -1 );
listHdr = g_list_append( listHdr, p );
}
node = g_list_next( node );
GList *node;
retVal = FALSE;
- g_return_val_if_fail( harvester != NULL, retVal );
+ cm_return_val_if_fail( harvester != NULL, retVal );
node = harvester->headerTable;
while( node ) {