X-Git-Url: https://git.deb.at/w?p=pkg%2Fabook.git;a=blobdiff_plain;f=database.h;h=3bfeb4e385a342fed6cd77ad0a0c7793646c5ecd;hp=142d1b01eb7be0666a0e76f6cc437311ee77621e;hb=c5d8ef5198f2bfd02f678b7a709b6538ef83cd44;hpb=7dca83329bb3ce545d6d03e10754999b9a82ca01 diff --git a/database.h b/database.h index 142d1b0..3bfeb4e 100644 --- a/database.h +++ b/database.h @@ -23,14 +23,23 @@ enum { NICK, URL, NOTES, + CUSTOM1, + CUSTOM2, + CUSTOM3, + CUSTOM4, + CUSTOM5, + ITEM_FIELDS /* this is the last */ }; -#define LAST_FIELD NOTES +#define LAST_FIELD (ITEM_FIELDS - 1) -#define ITEM_FIELDS (LAST_FIELD+1) +#define CUSTOM_MIN CUSTOM1 +#define CUSTOM_MAX CUSTOM5 typedef char * list_item[ITEM_FIELDS]; +#define MAX_FIELDNAME_LEN 21 + struct abook_field { char *name; char *key; @@ -47,6 +56,7 @@ struct db_enumerator { int mode; /* warning: read only */ }; +int find_field(const char *field); int parse_database(FILE *in); int write_database(FILE *out, struct db_enumerator e); int load_database(char *filename); @@ -56,7 +66,7 @@ int add_item2database(list_item item); void free_list_item(list_item item); void remove_selected_items(); void sort_surname(); -void sort_database(); +void sort_by_field(int field); char *get_surname(char *s); int find_item(char *str, int start, int search_fields[]); int is_selected(int item); @@ -64,6 +74,7 @@ int is_valid_item(int item); int real_db_enumerate_items(struct db_enumerator e); struct db_enumerator init_db_enumerator(int mode); +int change_custom_field_name(const char *name, int n); #define LAST_ITEM (items - 1)