]> git.deb.at Git - pkg/abook.git/blobdiff - database.c
merged newtabstyle.diff
[pkg/abook.git] / database.c
index f1ebdf7d47f368bbe1b0282b7c04c90bd12a1a0f..70e5a1ccfb00942e076ca2797fc8e0eb1be18072 100644 (file)
@@ -13,6 +13,7 @@
 #include <unistd.h>
 #include <fcntl.h>
 #include "abook.h"
+#include <assert.h>
 #include "database.h"
 #include "list.h"
 #include "misc.h"
@@ -136,10 +137,7 @@ load_database(char *filename)
        
        parse_database(in);
 
-       if ( items == 0 )
-               return 2;
-
-       return 0;
+       return (items == 0) ? 2 : 0;
 }
 
 int
@@ -242,7 +240,7 @@ validate_item(list_item item)
                item[EMAIL] = strdup("");
 
        for(i=0; i<ITEM_FIELDS; i++)
-               if( item[i] && (strlen(item[i]) > _MAX_FIELD_LEN(i) ) ) {
+               if( item[i] && ((int)strlen(item[i]) > _MAX_FIELD_LEN(i) ) ) {
                        tmp = item[i];
                        item[i][_MAX_FIELD_LEN(i)-1] = 0;
                        item[i] = strdup(item[i]);
@@ -263,9 +261,9 @@ adjust_list_capacity()
        else
                return;
 
-       database = abook_realloc(database,
+       database = (list_item *)abook_realloc(database,
                        sizeof(list_item) * list_capacity);
-       selected = abook_realloc(selected, list_capacity);
+       selected = (char *)abook_realloc(selected, list_capacity);
 }
 
 int
@@ -321,21 +319,14 @@ remove_selected_items()
 char *
 get_surname(char *s)
 {
-       int i, a;
-       int len = strlen(s);
-       char *name = strdup(s);
-
-       for( a = 0, i = len - 1; i >= 0; i--, a++ ) {
-               name[a] = s[i];
-               if(name[a] == ' ')
-                       break;
-       }
+       char *p = s + strlen(s);
 
-       name[ a ] = 0;
+       assert(s != NULL);
 
-       revstr(name);
+       while(p > s && *(p - 1) != ' ')
+               p--;
 
-       return name;
+       return strdup(p);
 }
 
 static int
@@ -404,13 +395,13 @@ find_item(char *str, int start, int search_fields[])
                return -2; /* error */
 
        findstr = strdup(str);
-       findstr = strupper(findstr);
+       findstr = strlower(findstr);
 
        e.item = start - 1; /* must be "real start" - 1 */
        db_enumerate_items(e) {
                for( i = 0; search_fields[i] >= 0; i++ ) {
                        tmp = safe_strdup(database[e.item][search_fields[i]]);
-                       if( tmp && strstr(strupper(tmp), findstr) ) {
+                       if( tmp && strstr(strlower(tmp), findstr) ) {
                                ret = e.item;
                                goto out;
                        }
@@ -471,10 +462,10 @@ out:
 struct db_enumerator
 init_db_enumerator(int mode)
 {
-       struct db_enumerator new;
+       struct db_enumerator e;
 
-       new.item = -1; /* important - means "start from beginning" */
-       new.mode = mode;
+       e.item = -1; /* important - means "start from beginning" */
+       e.mode = mode;
 
-       return new;
+       return e;
 }