summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Ævar Arnfjörð Bjarmason <avarab@gmail.com>2022-02-16 09:14:03 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2022-02-16 09:40:00 -0800
commitf1842898324330dcf7a3b30ea08d18a68bd19ceb (patch)
treede9ec60456d9f3f2b3e36db374d27288bed97eff
parentdate API: create a date.h, split from cache.h (diff)
downloadtgif-f1842898324330dcf7a3b30ea08d18a68bd19ceb.tar.xz
date API: provide and use a DATE_MODE_INIT
Provide and use a DATE_MODE_INIT macro. Most of the users of struct date_mode" use it via pretty.h's "struct pretty_print_context" which doesn't have an initialization macro, so we're still bound to being initialized to "{ 0 }" by default. But we can change the couple of callers that directly declared a variable on the stack to instead use the initializer, and thus do away with the "mode.local = 0" added in add00ba2de9 (date: make "local" orthogonal to date format, 2015-09-03). Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--date.c3
-rw-r--r--date.h4
-rw-r--r--ref-filter.c2
-rw-r--r--t/helper/test-date.c2
4 files changed, 7 insertions, 4 deletions
diff --git a/date.c b/date.c
index 863b07e9e6..54c709e4a0 100644
--- a/date.c
+++ b/date.c
@@ -206,11 +206,10 @@ void show_date_relative(timestamp_t time, struct strbuf *timebuf)
struct date_mode *date_mode_from_type(enum date_mode_type type)
{
- static struct date_mode mode;
+ static struct date_mode mode = DATE_MODE_INIT;
if (type == DATE_STRFTIME)
BUG("cannot create anonymous strftime date_mode struct");
mode.type = type;
- mode.local = 0;
return &mode;
}
diff --git a/date.h b/date.h
index 5db9ec8dd2..c3a00d08ed 100644
--- a/date.h
+++ b/date.h
@@ -20,6 +20,10 @@ struct date_mode {
int local;
};
+#define DATE_MODE_INIT { \
+ .type = DATE_NORMAL, \
+}
+
/*
* Convenience helper for passing a constant type, like:
*
diff --git a/ref-filter.c b/ref-filter.c
index f7a2f17bfd..3399bde932 100644
--- a/ref-filter.c
+++ b/ref-filter.c
@@ -1251,7 +1251,7 @@ static void grab_date(const char *buf, struct atom_value *v, const char *atomnam
char *zone;
timestamp_t timestamp;
long tz;
- struct date_mode date_mode = { DATE_NORMAL };
+ struct date_mode date_mode = DATE_MODE_INIT;
const char *formatp;
/*
diff --git a/t/helper/test-date.c b/t/helper/test-date.c
index ded3d059f5..111071e1dd 100644
--- a/t/helper/test-date.c
+++ b/t/helper/test-date.c
@@ -35,7 +35,7 @@ static void show_human_dates(const char **argv)
static void show_dates(const char **argv, const char *format)
{
- struct date_mode mode;
+ struct date_mode mode = DATE_MODE_INIT;
parse_date_format(format, &mode);
for (; *argv; argv++) {