X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=edit.c;h=5605a0f73abd6fe56b455970cf0d6e6746d3c80c;hb=2dbdc2283dcdb1a6a22762302da69a78ce86e13d;hp=ef956ef80c364ae4813842ec49335422f8cc3093;hpb=31c284414c6effcd85add7a7b19d4464ee0e3625;p=pkg%2Fabook.git diff --git a/edit.c b/edit.c index ef956ef..5605a0f 100644 --- a/edit.c +++ b/edit.c @@ -289,7 +289,7 @@ editor_print_data(int tab, int item) * valid string */ static int -change_field(char *msg, char **field, int max_len) +change_field(char *msg, char **field, size_t max_len) { char *old; int ret = 0; @@ -314,7 +314,7 @@ change_field(char *msg, char **field, int max_len) } static int -change_name_field(char *msg, char **field, int max_len) +change_name_field(char *msg, char **field, size_t max_len) { char *tmp; int ret; @@ -459,17 +459,6 @@ parse_date_string(char *s, int *day, int *month, int *year) return is_valid_date(*day, *month, *year); } -static int -is_number(char *s) -{ - char *p; - - for(p = s; *p; p++) - if(!isdigit(*p)) - return FALSE; - return TRUE; -} - static void edit_date(int item, int nb) { @@ -500,8 +489,12 @@ edit_date(int item, int nb) /* ISO 8601 date, of the YYYY-MM-DD or --MM-DD format */ if(is_valid_date(date[0], date[1], date[2])) { - s = strdup_printf(date[2] ? "%04d-%02d-%02d" : "%c-%02d-%02d", - date[2] ? date[2] : '-', date[1], date[0]); + if(date[2]) + s = strdup_printf("%04d-%02d-%02d", + date[2], date[1], date[0]); + else + s = strdup_printf("--%02d-%02d", date[1], date[0]); + db_fput_byid(item, nb, xstrdup(s)); } else statusline_msg(_("Invalid date"));