Replace parse_datetime() constants by named flags
Remove the magic constants used in the return value of parse_datetime() and use named flags instead. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
This commit is contained in:
parent
48bd82a003
commit
007a73f7a2
@ -628,6 +628,10 @@ enum getstr {
|
||||
GETSTRING_RET /* return was pressed without entering any text. */
|
||||
};
|
||||
|
||||
/* Return codes for parse_datetime(). */
|
||||
#define PARSE_DATETIME_HAS_DATE (1 << 0)
|
||||
#define PARSE_DATETIME_HAS_TIME (1 << 1)
|
||||
|
||||
/* Week days. */
|
||||
enum wday {
|
||||
SUNDAY,
|
||||
|
@ -115,7 +115,7 @@ static int day_edit_duration(int start, int dur, unsigned *new_duration)
|
||||
* the start time, assume that the time belongs to the
|
||||
* next day.
|
||||
*/
|
||||
if (ret == 2 && end < start)
|
||||
if (!(ret & PARSE_DATETIME_HAS_DATE) && end < start)
|
||||
end = date_sec_change(end, 0, 1);
|
||||
if (ret) {
|
||||
*new_duration = end - start;
|
||||
@ -537,7 +537,7 @@ void ui_day_item_add(void)
|
||||
break;
|
||||
}
|
||||
ret = parse_datetime(item_time, &start);
|
||||
if (!(ret & 2))
|
||||
if (!(ret & PARSE_DATETIME_HAS_TIME))
|
||||
is_appointment = 0;
|
||||
if (ret)
|
||||
break;
|
||||
@ -574,7 +574,7 @@ void ui_day_item_add(void)
|
||||
* the start time, assume that the time belongs to the
|
||||
* next day.
|
||||
*/
|
||||
if (ret == 2 && end < start)
|
||||
if (!(ret & PARSE_DATETIME_HAS_DATE) && end < start)
|
||||
end = date_sec_change(end, 0, 1);
|
||||
if (ret) {
|
||||
dur = end - start;
|
||||
|
@ -1132,10 +1132,10 @@ int parse_datetime(const char *string, long *ts)
|
||||
new_date.mm = month;
|
||||
new_date.yyyy = year;
|
||||
*ts = date2sec(new_date, 0, 0) + get_item_time(*ts);
|
||||
ret |= 1;
|
||||
ret |= PARSE_DATETIME_HAS_DATE;
|
||||
} else if (parse_time(p, &hour, &minute) == 1) {
|
||||
*ts = update_time_in_date(*ts, hour, minute);
|
||||
ret |= 2;
|
||||
ret |= PARSE_DATETIME_HAS_TIME;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user