2013/2/6 Junio C Hamano <gitster@xxxxxxxxx>: > Jiang Xin <worldhello.net@xxxxxxxxx> 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; } -- 蒋鑫 北京群英汇信息技术有限公司 邮件: worldhello.net@xxxxxxxxx 网址: 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html