X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=database.c;h=70e5a1ccfb00942e076ca2797fc8e0eb1be18072;hb=9e5f6d00416e4107a5c1b1e30874a2a0119e0f08;hp=2a5ce8be107f8479ec7e07784259f51cf008c35b;hpb=3cea3c8809447c5d6658671b78b9af7137fd9b0d;p=pkg%2Fabook.git diff --git a/database.c b/database.c index 2a5ce8b..70e5a1c 100644 --- a/database.c +++ b/database.c @@ -13,6 +13,7 @@ #include #include #include "abook.h" +#include #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 @@ -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; }