X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=database.c;h=7c47ab6d85a60fd5afbbbd69eb20b1565983856e;hb=242907dcb6220a23b620f3314e96581b5b472a0d;hp=086ed77633b86388e9723462d42a062156561d49;hpb=c0b0c6c7a0971525558239e544212589fbbac58b;p=pkg%2Fabook.git diff --git a/database.c b/database.c index 086ed77..7c47ab6 100644 --- a/database.c +++ b/database.c @@ -1,6 +1,6 @@ /* - * $Id: database.c,v 1.36 2006/08/09 21:54:56 cduval Exp $ + * $Id: database.c,v 1.39 2006/09/04 18:29:25 cduval Exp $ * * by JH * @@ -57,7 +57,7 @@ abook_field standard_fields[] = { {"nick", N_("Nickname/Alias"), FIELD_STRING}, /* NICK */ {"url", N_("URL"), FIELD_STRING}, /* URL */ {"notes", N_("Notes"), FIELD_STRING}, /* NOTES */ - {"anniversary", N_("Anniversary day"), FIELD_DAY}, /* ANNIVERSARY */ + {"anniversary", N_("Anniversary day"), FIELD_DATE}, /* ANNIVERSARY */ {0} /* ITEM_FIELDS */ }; @@ -121,7 +121,7 @@ real_find_field(char *key, abook_field_list *list, int *number) } void -get_field_keyname(int i, char **key, char **name) +get_field_info(int i, char **key, char **name, int *type) { abook_field_list *cur = fields_list; int j; @@ -135,6 +135,8 @@ get_field_keyname(int i, char **key, char **name) *key = (i < 0) ? NULL : cur->field->key; if(name) *name = (i < 0) ? NULL : cur->field->name; + if(type) + *type = (i < 0) ? -1 : cur->field->type; } void @@ -177,8 +179,8 @@ declare_new_field(char *key, char *name, char *type, int accept_standard) f->type = FIELD_EMAILS; else if(0 == strcasecmp("list", type)) f->type = FIELD_LIST; - else if(0 == strcasecmp("day", type)) - f->type = FIELD_DAY; + else if(0 == strcasecmp("date", type)) + f->type = FIELD_DATE; else return _("unknown type"); @@ -358,18 +360,13 @@ save_database() goto out; } - if(list_is_empty()) { - fclose(out); - unlink(datafile); - ret = 1; - goto out; - } + if(!list_is_empty()) + /* + * Possibly should check if write_database failed. + * Currently it returns always zero. + */ + write_database(out, e); - /* - * Possibly should check if write_database failed. - * Currently it returns always zero. - */ - write_database(out, e); fclose(out); if(access(datafile, F_OK) == 0 && @@ -433,7 +430,7 @@ validate_item(list_item item) case FIELD_STRING: max_field_len = MAX_FIELD_LEN; break; - case FIELD_DAY: + case FIELD_DATE: break; default: assert(0);