Start and end time validation.

All appointment times are checked for validity. Overflow by time
arithmetic is detected. End times are checked when appointments
are moved. Three functions are involved: parse_datetime(),
parse_duration() and parse_date_duration(); they all have a
new argument for validation purposes.

Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
This commit is contained in:
Lars Henriksen
2017-11-06 19:30:32 +01:00
committed by Lukas Fleischer
parent c45da5f5ca
commit fd635150a8
2 changed files with 47 additions and 8 deletions

View File

@@ -1162,9 +1162,9 @@ int parse_date_interactive(const char *, int *, int *, int *);
int check_sec(time_t *);
int check_time(unsigned, unsigned);
int parse_time(const char *, unsigned *, unsigned *);
int parse_duration(const char *, unsigned *);
int parse_date_duration(const char *, unsigned *);
int parse_datetime(const char *, long *);
int parse_duration(const char *, unsigned *, time_t);
int parse_date_duration(const char *, unsigned *, time_t);
int parse_datetime(const char *, time_t *, time_t);
void file_close(FILE *, const char *);
void psleep(unsigned);
int fork_exec(int *, int *, const char *, const char *const *);