X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=tests%2Fidn%2Fidn.psi;h=dbb4a6c146b9aec3d44359b9d28fa992e5c127a5;hp=7c585b793bb7c89ff6c0302813a7f6166845c948;hb=93d6b7f962a82b725d1918684297d68221b0b733;hpb=77a446cbcdce6558c00066e5f13e43e8b1b18ff7 diff --git a/tests/idn/idn.psi b/tests/idn/idn.psi index 7c585b7..dbb4a6c 100644 --- a/tests/idn/idn.psi +++ b/tests/idn/idn.psi @@ -1,35 +1,21 @@ -# libidn -lib "idn"; +#ifdef __linux__ +#pragma lib "crypt"; +#endif -# IDNA errors -const int \IDNA_SUCCESS = 0; -const int \IDNA_STRINGPREP_ERROR = 1; -const int \IDNA_PUNYCODE_ERROR = 2; -const int \IDNA_CONTAINS_NON_LDH = 3; -const int \IDNA_CONTAINS_LDH = 3; -const int \IDNA_CONTAINS_MINUS = 4; -const int \IDNA_INVALID_LENGTH = 5; -const int \IDNA_NO_ACE_PREFIX = 6; -const int \IDNA_ROUNDTRIP_VERIFY_ERROR = 7; -const int \IDNA_CONTAINS_ACE_PREFIX = 8; -const int \IDNA_ICONV_ERROR = 9; -const int \IDNA_MALLOC_ERROR = 201; -const int \IDNA_DLOPEN_ERROR = 202; -# IDNA flags -const int \IDNA_ALLOW_UNASSIGNED = 1; -const int \IDNA_USE_STD3_ASCII_RULES = 2; +#include +#pragma lib "idn"; +#include -default int idna_to_ascii_8z(char *host, char **buffer, int flags); function idn\utf8_to_ascii(string $host, string &$result, int $flags = 0) : int { - let buffer = &NULL; - let host = strval($host); + let output = &NULL; + let input = strval($host); let flags = intval($flags); - set $result = to_string(*buffer); + set $result = to_string(*output); return to_int(idna_to_ascii_8z); - free free(*buffer); + free free(*output); } -default char *idna_strerror(int rc); + function idn\strerror(int $rc) : string { return to_string(idna_strerror); let rc = intval($rc);