From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- jni/iconv/libcharset/tools/locale_x11encoding.c | 40 +++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 jni/iconv/libcharset/tools/locale_x11encoding.c (limited to 'jni/iconv/libcharset/tools/locale_x11encoding.c') diff --git a/jni/iconv/libcharset/tools/locale_x11encoding.c b/jni/iconv/libcharset/tools/locale_x11encoding.c new file mode 100644 index 0000000..f323cd2 --- /dev/null +++ b/jni/iconv/libcharset/tools/locale_x11encoding.c @@ -0,0 +1,40 @@ +/* Prints the locale's encoding via libX11. */ + +#include +#include +#include +#include +#include +#include + +int main (int argc, char* argv[]) +{ + Display* display; + XTextProperty textprop; + char* input; + + if (argc != 1) + exit(1); + + setlocale(LC_CTYPE,""); + + display = XOpenDisplay(NULL); + if (display == NULL) { + fprintf(stderr,"cannot open display\n"); + exit(1); + } + + input = ""; + if (XmbTextListToTextProperty(display, &input, 1, XTextStyle, &textprop) != Success) { + fprintf(stderr,"XmbTextListToTextProperty failed\n"); + exit(1); + } + assert(textprop.format == 8); + assert(textprop.nitems == 0); + + printf("%s\n", XGetAtomName(display, textprop.encoding)); + + XCloseDisplay(display); + + exit(0); +} -- cgit v1.2.3