X-Git-Url: https://git.deb.at/?a=blobdiff_plain;ds=sidebyside;f=edit.c;h=28d508748480d3747048f83a1291cba203860fc8;hb=6a182e3e9a932830341308eb5fb58eb92f5c3682;hp=ef956ef80c364ae4813842ec49335422f8cc3093;hpb=31c284414c6effcd85add7a7b19d4464ee0e3625;p=pkg%2Fabook.git diff --git a/edit.c b/edit.c index ef956ef..28d5087 100644 --- a/edit.c +++ b/edit.c @@ -33,8 +33,6 @@ extern int views_count; WINDOW *editw; -static int parse_date_string(char *s, int *day, int *month, int *year); - static void editor_tab(const int tab) @@ -289,7 +287,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 +312,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; @@ -421,7 +419,7 @@ static int is_valid_date(const int day, const int month, const int year) return valid; } -static int +int parse_date_string(char *s, int *day, int *month, int *year) { int i = 0; @@ -459,17 +457,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 +487,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"));