summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utf8.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/utf8.c b/utf8.c
index bc131385f..db7cb8f35 100644
--- a/utf8.c
+++ b/utf8.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: utf8.c,v 1.7 2017/05/31 09:15:42 deraadt Exp $ */ 1/* $OpenBSD: utf8.c,v 1.8 2018/08/21 13:56:27 schwarze Exp $ */
2/* 2/*
3 * Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org> 3 * Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org>
4 * 4 *
@@ -53,6 +53,8 @@ static int vasnmprintf(char **, size_t, int *, const char *, va_list);
53 * For state-dependent encodings, recovery is impossible. 53 * For state-dependent encodings, recovery is impossible.
54 * For arbitrary encodings, replacement of non-printable 54 * For arbitrary encodings, replacement of non-printable
55 * characters would be non-trivial and too fragile. 55 * characters would be non-trivial and too fragile.
56 * The comments indicate what nl_langinfo(CODESET)
57 * returns for US-ASCII on various operating systems.
56 */ 58 */
57 59
58static int 60static int
@@ -60,9 +62,12 @@ dangerous_locale(void) {
60 char *loc; 62 char *loc;
61 63
62 loc = nl_langinfo(CODESET); 64 loc = nl_langinfo(CODESET);
63 return strcmp(loc, "US-ASCII") != 0 && strcmp(loc, "UTF-8") != 0 && 65 return strcmp(loc, "UTF-8") != 0 &&
64 strcmp(loc, "ANSI_X3.4-1968") != 0 && strcmp(loc, "646") != 0 && 66 strcmp(loc, "US-ASCII") != 0 && /* OpenBSD */
65 strcmp(loc, "") != 0; 67 strcmp(loc, "ANSI_X3.4-1968") != 0 && /* Linux */
68 strcmp(loc, "ISO8859-1") != 0 && /* AIX */
69 strcmp(loc, "646") != 0 && /* Solaris, NetBSD */
70 strcmp(loc, "") != 0; /* Solaris 6 */
66} 71}
67 72
68static int 73static int