Re: [PATCH] graph.c: fix padding
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- May 15, 2008, 08:50 UTC
- Message-ID
- <alpine.DEB.1.00.0805150947060.30431@racer>
- In-Reply-To
- <alpine.DEB.1.00.0805141522060.30431@racer>
Hi,
On Wed, 14 May 2008, Johannes Schindelin wrote:
Show 6 quoted lines
> There were two instances of "%*s" which want to be "%.*s" instead. > > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> > --- > graph.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-)
I am a moron.
Remember when I implemented a custom strbuf_vaddf() implementation that did not suffer these workarounds we have for "broken vaddf()" on AIX and Windows?
Well, I completely forgot about it, but I still have it in my personal tree.
And this implementation did not support "%*s", since there was no user for it before the addition of the --graph stuff.
So I have this in my tree now instead of the "fix" I am replying to:
-- snipsnap -- [PATCH] strbuf_vaddf(): support %*s, too
The recent addition of graph.c broke things with our custom implementation of strbuf_vaddf(), because "%*s" was not yet supported (because it did not have any users before).
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> --- strbuf.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/strbuf.c b/strbuf.c index 466f999..8c11f15 100644 --- a/strbuf.c +++ b/strbuf.c @@ -155,6 +155,12 @@ void strbuf_vaddf(struct strbuf *sb, const char *fmt, va_list ap) fill = *p++; if (isdigit(*p)) size = (int)strtol(p, &p, 10); + else if (*p == '*') { + size = va_arg(ap, int); + if (!fill) + fill = ' '; + p++; + } else if (!prefixcmp(p, ".*")) { max_size = va_arg(ap, int); p += 2;
-- 1.5.5.1.375.g1becb