From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
"René Scharfe" <l.s.r@web.de>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v6 2/2] strbuf: change an always NULL/"" strbuf_addftime() param to bool
Date: Sat, 1 Jul 2017 12:55:07 +0000 [thread overview]
Message-ID: <20170701125507.27214-2-avarab@gmail.com> (raw)
In-Reply-To: <20170701125507.27214-1-avarab@gmail.com>
In-Reply-To: <xmqqk2419rhg.fsf@gitster.mtv.corp.google.com>
strbuf_addstr() 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>
---
On Sat, Jun 24 2017, Junio C. Hamano jotted:
> René Scharfe <l.s.r@web.de> writes:
>> Here's an attempt at a commit message that would have be easier to
>> understand for me:
>>
>> strbuf_addstr() 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.
>
> I think the first one is strbuf_addftime(); other than that, I think
> this version explains what is going on in this patch than the
> original.
>
> I'll wait for Ævar to respond, but my inclination is to take the
> patch with the above tweaks to the log message, as the change is
> easy to revert if we find it necessary.
Thanks both. Here's a v6 with those changes, sorry about the delay.
date.c | 2 +-
strbuf.c | 5 ++---
strbuf.h | 5 +++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/date.c b/date.c
index 1fd6d66375..c3e673fd04 100644
--- a/date.c
+++ b/date.c
@@ -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);
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],
diff --git a/strbuf.c b/strbuf.c
index c4e91a6656..89d22e3b09 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -779,7 +779,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;
@@ -808,8 +808,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;
}
diff --git a/strbuf.h b/strbuf.h
index 6809d7daa8..2075384e0b 100644
--- a/strbuf.h
+++ b/strbuf.h
@@ -337,11 +337,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.
--
2.13.1.611.g7e3b11ae1
next prev parent reply other threads:[~2017-07-01 12:55 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-23 14:46 [PATCH] strbuf: change an always NULL/"" strbuf_addftime() param to bool Ævar Arnfjörð Bjarmason
2017-06-23 14:51 ` Jeff King
2017-06-23 15:13 ` Ævar Arnfjörð Bjarmason
2017-06-23 15:23 ` Jeff King
2017-06-23 16:23 ` René Scharfe
2017-06-23 16:37 ` Jeff King
2017-06-24 11:11 ` Ævar Arnfjörð Bjarmason
2017-06-23 16:36 ` [PATCH -v2] " Ævar Arnfjörð Bjarmason
2017-06-23 16:44 ` Jeff King
2017-06-24 11:36 ` [PATCH v3 1/2] strbuf.h comment: discuss strbuf_addftime() arguments in order Ævar Arnfjörð Bjarmason
2017-06-24 11:36 ` [PATCH v3 2/2] strbuf: change an always NULL/"" strbuf_addftime() param to bool Ævar Arnfjörð Bjarmason
2017-06-24 12:02 ` Jeff King
2017-06-24 12:10 ` [PATCH v4 1/2] strbuf.h comment: discuss strbuf_addftime() arguments in order Ævar Arnfjörð Bjarmason
2017-06-24 12:10 ` [PATCH v4 2/2] strbuf: change an always NULL/"" strbuf_addftime() param to bool Ævar Arnfjörð Bjarmason
2017-06-24 12:12 ` Jeff King
2017-06-24 12:14 ` [PATCH v5 1/2] strbuf.h comment: discuss strbuf_addftime() arguments in order Ævar Arnfjörð Bjarmason
2017-06-24 12:14 ` [PATCH v5 2/2] strbuf: change an always NULL/"" strbuf_addftime() param to bool Ævar Arnfjörð Bjarmason
2017-06-24 12:22 ` Jeff King
2017-06-24 13:17 ` René Scharfe
2017-06-24 18:21 ` Junio C Hamano
2017-07-01 12:55 ` [PATCH v6 1/2] strbuf.h comment: discuss strbuf_addftime() arguments in order Ævar Arnfjörð Bjarmason
2017-07-01 12:55 ` Ævar Arnfjörð Bjarmason [this message]
2017-07-01 13:00 ` [PATCH v6 2/2] strbuf: change an always NULL/"" strbuf_addftime() param to bool René Scharfe
2017-07-01 13:15 ` [PATCH v7 1/2] strbuf.h comment: discuss strbuf_addftime() arguments in order Ævar Arnfjörð Bjarmason
2017-07-01 13:15 ` [PATCH v7 2/2] strbuf: change an always NULL/"" strbuf_addftime() param to bool Ævar Arnfjörð Bjarmason
2017-06-23 17:13 ` [PATCH] " Junio C Hamano
2017-06-23 15:20 ` René Scharfe
2017-06-23 15:25 ` Jeff King
2017-06-23 16:22 ` René Scharfe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170701125507.27214-2-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=l.s.r@web.de \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).