X-Git-Url: https://git.deb.at/w?a=blobdiff_plain;f=database.c;h=7dd4a9ad315289742fd213374d7acaa7457106b0;hb=5840fceb1f91b066a4c4361b0599c417aa111386;hp=b38dbe0947aad033b3b5269e7a01618749b9e7dc;hpb=32988be675df21382dd9150a5a88df45da12c2e2;p=pkg%2Fabook.git diff --git a/database.c b/database.c index b38dbe0..7dd4a9a 100644 --- a/database.c +++ b/database.c @@ -58,7 +58,7 @@ abook_field standard_fields[] = { {"url", N_("URL"), FIELD_STRING}, /* URL */ {"notes", N_("Notes"), FIELD_STRING}, /* NOTES */ {"anniversary", N_("Anniversary day"), FIELD_DATE}, /* ANNIVERSARY */ - {"groups", N_("Groups"), FIELD_LIST}, /* GROUPS */ + {"groups", N_("Groups"), FIELD_LIST}, /* GROUPS */ {0} /* ITEM_FIELDS */ }; @@ -557,6 +557,33 @@ void merge_selected_items() select_none(); } +void remove_duplicates() +{ + int i,j,k; + char *tmpj; + if(list_is_empty()) + return; + + /* Scan from the last one */ + for(j = LAST_ITEM - 1; j >= 0; j--) { + tmpj = db_name_get(j); + for(i = LAST_ITEM; i > j; i--) + /* Check name and merge if dups */ + if (0 == strcmp(tmpj,db_name_get(i))) { + item_merge(database[j],database[i]); + if (curitem == i) curitem--; + for(k = i; k < LAST_ITEM; k++) { + item_copy(database[k], database[k + 1]); + } + item_free(&database[LAST_ITEM]); + items--; + } + } + + adjust_list_capacity(); +} + + char * get_surname(char *s) {