From fc93ae890aef181dd38cba7e29e8bc9779545cac Mon Sep 17 00:00:00 2001 From: Dianne Skoll Date: Sat, 17 Sep 2022 23:04:34 -0400 Subject: [PATCH] Allow NULL pointers to be supplied to FromJulian if we are not interested in specific values --- src/calendar.c | 4 ++-- src/main.c | 15 +++++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/calendar.c b/src/calendar.c index 589e7e2d..ec9a9f86 100644 --- a/src/calendar.c +++ b/src/calendar.c @@ -301,8 +301,8 @@ static void WriteCalDays (void); static int DayOf(int jul) { - int y, m, d; - FromJulian(jul, &y, &m, &d); + int d; + FromJulian(jul, NULL, NULL, &d); return d; } diff --git a/src/main.c b/src/main.c index a1b92af1..a07f4622 100644 --- a/src/main.c +++ b/src/main.c @@ -329,7 +329,8 @@ int Julian(int year, int month, int day) /* */ /* FromJulian */ /* */ -/* Convert a Julian date to year, month, day. */ +/* Convert a Julian date to year, month, day. You may supply */ +/* NULL for y, m or d if you're not interested in that value */ /* */ /***************************************************************/ void FromJulian(int jul, int *y, int *m, int *d) @@ -358,9 +359,15 @@ void FromJulian(int jul, int *y, int *m, int *d) try_mon++; t = DaysInMonth(try_mon, try_yr); } - *y = try_yr; - *m = try_mon; - *d = jul + 1; + if (y) { + *y = try_yr; + } + if (m) { + *m = try_mon; + } + if (d) { + *d = jul + 1; + } return; }