projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'os/commit-submodule-ignore'
[git.git]
/
gettext.c
diff --git
a/gettext.c
b/gettext.c
index f75bca7f56b7b27c135d92acba816c40211fdece..71e954563d7068500bd41269dd57f01b097f7c3d 100644
(file)
--- a/
gettext.c
+++ b/
gettext.c
@@
-4,6
+4,8
@@
#include "git-compat-util.h"
#include "gettext.h"
#include "git-compat-util.h"
#include "gettext.h"
+#include "strbuf.h"
+#include "utf8.h"
#ifndef NO_GETTEXT
# include <locale.h>
#ifndef NO_GETTEXT
# include <locale.h>
@@
-27,10
+29,9
@@
int use_gettext_poison(void)
#endif
#ifndef NO_GETTEXT
#endif
#ifndef NO_GETTEXT
+static const char *charset;
static void init_gettext_charset(const char *domain)
{
static void init_gettext_charset(const char *domain)
{
- const char *charset;
-
/*
This trick arranges for messages to be emitted in the user's
requested encoding, but avoids setting LC_CTYPE from the
/*
This trick arranges for messages to be emitted in the user's
requested encoding, but avoids setting LC_CTYPE from the
@@
-128,4
+129,14
@@
void git_setup_gettext(void)
init_gettext_charset("git");
textdomain("git");
}
init_gettext_charset("git");
textdomain("git");
}
+
+/* return the number of columns of string 's' in current locale */
+int gettext_width(const char *s)
+{
+ static int is_utf8 = -1;
+ if (is_utf8 == -1)
+ is_utf8 = !strcmp(charset, "UTF-8");
+
+ return is_utf8 ? utf8_strwidth(s) : strlen(s);
+}
#endif
#endif