diff options
author | Boris Nagaev <bnagaev@gmail.com> | 2017-03-05 02:47:55 (GMT) |
---|---|---|
committer | Boris Nagaev <bnagaev@gmail.com> | 2017-03-05 02:50:35 (GMT) |
commit | 7ddc00eaeb0f51bdfb09823c4eee74486366c749 (patch) | |
tree | 8aa1b4949bb02c79da5d3807b5b6a66daac6778a /src/libidn2-test.c | |
parent | 155109d0c7a977d64b5edae02ee6af9e4cf95520 (diff) | |
download | mxe-7ddc00eaeb0f51bdfb09823c4eee74486366c749.zip mxe-7ddc00eaeb0f51bdfb09823c4eee74486366c749.tar.gz mxe-7ddc00eaeb0f51bdfb09823c4eee74486366c749.tar.bz2 |
add package libidn2
See https://github.com/mxe/mxe/issues/1691https://github.com/mxe/mxe/issues/1691
Diffstat (limited to 'src/libidn2-test.c')
-rw-r--r-- | src/libidn2-test.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/libidn2-test.c b/src/libidn2-test.c new file mode 100644 index 0000000..65cd099 --- /dev/null +++ b/src/libidn2-test.c @@ -0,0 +1,44 @@ +/* + * This file is part of MXE. See LICENSE.md for licensing information. + * + * Based on https://www.gnu.org/software/libidn/libidn2/manual/libidn2.html#Lookup + */ + +#include <stdio.h> /* printf, fflush, fgets, stdin, perror, fprintf */ +#include <string.h> /* strlen */ +#include <locale.h> /* setlocale */ +#include <stdlib.h> /* free */ +#include <idn2.h> /* idn2_lookup_ul, IDN2_OK, idn2_strerror, idn2_strerror_name */ + +int +main () +{ + int rc; + char src[BUFSIZ]; + char *lookupname; + + setlocale (LC_ALL, ""); + + printf ("Enter (possibly non-ASCII) domain name to lookup: "); + fflush (stdout); + if (!fgets (src, sizeof (src), stdin)) + { + perror ("fgets"); + return 1; + } + src[strlen (src) - 1] = '\0'; + + rc = idn2_lookup_ul (src, &lookupname, 0); + if (rc != IDN2_OK) + { + fprintf (stderr, "error: %s (%s, %d)\n", + idn2_strerror (rc), idn2_strerror_name (rc), rc); + return 1; + } + + printf ("IDNA2008 domain name to lookup in DNS: %s\n", lookupname); + + free (lookupname); + + return 0; +} |