2013/2/6 Junio C Hamano <[email protected]>:
> Jiang Xin <[email protected]> writes:
>> I agree, a helper named 'utf8_fprintf' in utf8.c is better.
>> I will send a patch latter.
>
> Yeah, the idea of a helper function I agree with; I am not thrilled
> with the name utf8_fprintf() though. People use the return value of
> fprintf() for error detection (negative return value means an error)
> most of the time (even though non-negative value gives the number of
> bytes shown), but the primary use of the return value from the
> utf8_fprintf() function will be to get the display width, and the
> name does not quite capture that.
>
How about this since [PATCH v3]:
diff --git a/utf8.c b/utf8.c
index 52dbd..b893a 100644
--- a/utf8.c
+++ b/utf8.c
@@ -443,8 +443,11 @@ int utf8_fprintf(FILE *stream, const char *format, ...)
strbuf_vaddf(&buf, format, arg);
va_end (arg);
- fputs(buf.buf, stream);
- columns = utf8_strwidth(buf.buf);
+ columns = fputs(buf.buf, stream);
+ /* If no error occurs, and really write something (columns > 0),
+ * calculate really columns width with utf8_strwidth. */
+ if (columns > 0)
+ columns = utf8_strwidth(buf.buf);
strbuf_release(&buf);
return columns;
}
--
蒋鑫
北京群英汇信息技术有限公司
邮件: [email protected]
网址: http://www.ossxp.com/
博客: http://www.worldhello.net/
微博: http://weibo.com/gotgit/
电话: 010-51262007, 18601196889
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html