X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=database.c;h=70e5a1ccfb00942e076ca2797fc8e0eb1be18072;hb=c38bc4bc5254bd5925d8567e7ff1554a7844b8c7;hp=8b22602e03b6a2a60121904a6cf2ae05f2fb22ad;hpb=22b04d3544adcdcead47127d4de7826d18444ca2;p=pkg%2Fabook.git diff --git a/database.c b/database.c index 8b22602..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" @@ -318,21 +319,14 @@ remove_selected_items() char * get_surname(char *s) { - int i, a; - int len = strlen(s); - char *name = strdup(s); + char *p = s + strlen(s); - for( a = 0, i = len - 1; i >= 0; i--, a++ ) { - name[a] = s[i]; - if(name[a] == ' ') - break; - } - - name[ a ] = 0; + assert(s != NULL); - revstr(name); + while(p > s && *(p - 1) != ' ') + p--; - return name; + return strdup(p); } static int @@ -401,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; }