diff options
author | Ævar Arnfjörð Bjarmason <avarab@gmail.com> | 2017-07-01 13:15:47 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-07-01 10:47:05 -0700 |
commit | 3b702239d6399685aa69539b83be5f744cfa10e3 (patch) | |
tree | 4a2938057646a3f1f65ad9cd8c40ca575b6dbbff | |
parent | 4904cbc9e195f1de2cb6ff3c5b3d5b756343ef44 (diff) | |
download | git-3b702239d6399685aa69539b83be5f744cfa10e3.tar.gz |
strbuf: change an always NULL/"" strbuf_addftime() param to boolab/strbuf-addftime-tzname-boolify
strbuf_addftime() allows callers to pass a time zone name for
expanding %Z. The only current caller either passes the empty string
or NULL, in which case %Z is handed over verbatim to strftime(3).
Replace that string parameter with a flag controlling whether to
remove %Z from the format specification. This simplifies the code.
Commit-message-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | date.c | 2 | ||||
-rw-r--r-- | strbuf.c | 5 | ||||
-rw-r--r-- | strbuf.h | 5 |
3 files changed, 6 insertions, 6 deletions
@@ -243,7 +243,7 @@ const char *show_date(unsigned long time, int tz, const struct date_mode *mode) tm->tm_hour, tm->tm_min, tm->tm_sec, tz); else if (mode->type == DATE_STRFTIME) strbuf_addftime(&timebuf, mode->strftime_fmt, tm, tz, - mode->local ? NULL : ""); + !mode->local); else strbuf_addf(&timebuf, "%.3s %.3s %d %02d:%02d:%02d %d%c%+05d", weekday_names[tm->tm_wday], @@ -786,7 +786,7 @@ char *xstrfmt(const char *fmt, ...) } void strbuf_addftime(struct strbuf *sb, const char *fmt, const struct tm *tm, - int tz_offset, const char *tz_name) + int tz_offset, int suppress_tz_name) { struct strbuf munged_fmt = STRBUF_INIT; size_t hint = 128; @@ -815,8 +815,7 @@ void strbuf_addftime(struct strbuf *sb, const char *fmt, const struct tm *tm, fmt++; break; case 'Z': - if (tz_name) { - strbuf_addstr(&munged_fmt, tz_name); + if (suppress_tz_name) { fmt++; break; } @@ -343,11 +343,12 @@ extern void strbuf_vaddf(struct strbuf *sb, const char *fmt, va_list ap); * `tz_offset` is in decimal hhmm format, e.g. -600 means six hours west * of Greenwich, and it's used to expand %z internally. However, tokens * with modifiers (e.g. %Ez) are passed to `strftime`. - * `tz_name` is used to expand %Z internally unless it's NULL. + * `suppress_tz_name`, when set, expands %Z internally to the empty + * string rather than passing it to `strftime`. */ extern void strbuf_addftime(struct strbuf *sb, const char *fmt, const struct tm *tm, int tz_offset, - const char *tz_name); + int suppress_tz_name); /** * Read a given size of data from a FILE* pointer to the buffer. |