diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2014-06-24 23:45:02 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2014-06-25 12:35:43 +0200 |
commit | 0529b864b0b2ababd799ee18faf486dbcce68b97 (patch) | |
tree | e2eb2cc780396a8065221d19a29d756d5cd2bcb7 /src/day.c | |
parent | 0b46ad4faaee1ce982a64413b57406e43cb83e88 (diff) | |
download | calcurse-0529b864b0b2ababd799ee18faf486dbcce68b97.zip |
Fix segmentation fault
This adds some more accurate checks to avoid a segmentation fault that
occurred when accessing a nonexistent item.
Fixes GitHub issue #7.
Reported-by: Bromind <martin.vassor@hotmail.fr>
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Diffstat (limited to 'src/day.c')
-rw-r--r-- | src/day.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -43,6 +43,7 @@ #include "calcurse.h" static vector_t day_items; +static unsigned day_items_nb = 0; static void day_free(struct day_item *day) { @@ -359,6 +360,7 @@ day_store_items(long date, regex_t * regex, int include_captions) day_add_item(DAY_SEPARATOR, 0, p); VECTOR_SORT(&day_items, day_cmp_start); + day_items_nb = events + apts; } /* @@ -682,9 +684,9 @@ struct day_item *day_get_item(int item_number) return VECTOR_NTH(&day_items, item_number); } -unsigned day_item_count(void) +unsigned day_item_count(int include_captions) { - return VECTOR_COUNT(&day_items); + return (include_captions ? VECTOR_COUNT(&day_items) : day_items_nb); } /* Attach a note to an appointment or event. */ |