Merge branch 'ab/strbuf-addftime-tzname-boolify'

strbuf_addftime() is further getting tweaked.

* ab/strbuf-addftime-tzname-boolify:
  strbuf: change an always NULL/"" strbuf_addftime() param to bool
  strbuf.h comment: discuss strbuf_addftime() arguments in order
This commit is contained in:
Junio C Hamano 2017-07-06 18:14:47 -07:00
commit 6ba649e408
3 changed files with 6 additions and 6 deletions

2
date.c
View File

@ -256,7 +256,7 @@ const char *show_date(timestamp_t time, int tz, const struct date_mode *mode)
tm->tm_hour, tm->tm_min, tm->tm_sec, tz); tm->tm_hour, tm->tm_min, tm->tm_sec, tz);
else if (mode->type == DATE_STRFTIME) else if (mode->type == DATE_STRFTIME)
strbuf_addftime(&timebuf, mode->strftime_fmt, tm, tz, strbuf_addftime(&timebuf, mode->strftime_fmt, tm, tz,
mode->local ? NULL : ""); !mode->local);
else else
strbuf_addf(&timebuf, "%.3s %.3s %d %02d:%02d:%02d %d%c%+05d", strbuf_addf(&timebuf, "%.3s %.3s %d %02d:%02d:%02d %d%c%+05d",
weekday_names[tm->tm_wday], weekday_names[tm->tm_wday],

View File

@ -779,7 +779,7 @@ char *xstrfmt(const char *fmt, ...)
} }
void strbuf_addftime(struct strbuf *sb, const char *fmt, const struct tm *tm, 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; struct strbuf munged_fmt = STRBUF_INIT;
size_t hint = 128; size_t hint = 128;
@ -808,8 +808,7 @@ void strbuf_addftime(struct strbuf *sb, const char *fmt, const struct tm *tm,
fmt++; fmt++;
break; break;
case 'Z': case 'Z':
if (tz_name) { if (suppress_tz_name) {
strbuf_addstr(&munged_fmt, tz_name);
fmt++; fmt++;
break; break;
} }

View File

@ -334,14 +334,15 @@ extern void strbuf_vaddf(struct strbuf *sb, const char *fmt, va_list ap);
/** /**
* Add the time specified by `tm`, as formatted by `strftime`. * Add the time specified by `tm`, as formatted by `strftime`.
* `tz_name` is used to expand %Z internally unless it's NULL.
* `tz_offset` is in decimal hhmm format, e.g. -600 means six hours west * `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 * of Greenwich, and it's used to expand %z internally. However, tokens
* with modifiers (e.g. %Ez) are passed to `strftime`. * with modifiers (e.g. %Ez) are passed to `strftime`.
* `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, extern void strbuf_addftime(struct strbuf *sb, const char *fmt,
const struct tm *tm, int tz_offset, 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. * Read a given size of data from a FILE* pointer to the buffer.