summaryrefslogtreecommitdiffstats
path: root/src/civetweb/src/third_party/duktape-1.8.0/examples/codepage-conv/test.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/civetweb/src/third_party/duktape-1.8.0/examples/codepage-conv/test.c286
1 files changed, 286 insertions, 0 deletions
diff --git a/src/civetweb/src/third_party/duktape-1.8.0/examples/codepage-conv/test.c b/src/civetweb/src/third_party/duktape-1.8.0/examples/codepage-conv/test.c
new file mode 100644
index 000000000..c34299a82
--- /dev/null
+++ b/src/civetweb/src/third_party/duktape-1.8.0/examples/codepage-conv/test.c
@@ -0,0 +1,286 @@
+#include "duktape.h"
+#include "duk_codepage_conv.h"
+
+/* http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT */
+unsigned int cp1252[256] = {
+ (unsigned int) 0x0000,
+ (unsigned int) 0x0001,
+ (unsigned int) 0x0002,
+ (unsigned int) 0x0003,
+ (unsigned int) 0x0004,
+ (unsigned int) 0x0005,
+ (unsigned int) 0x0006,
+ (unsigned int) 0x0007,
+ (unsigned int) 0x0008,
+ (unsigned int) 0x0009,
+ (unsigned int) 0x000A,
+ (unsigned int) 0x000B,
+ (unsigned int) 0x000C,
+ (unsigned int) 0x000D,
+ (unsigned int) 0x000E,
+ (unsigned int) 0x000F,
+ (unsigned int) 0x0010,
+ (unsigned int) 0x0011,
+ (unsigned int) 0x0012,
+ (unsigned int) 0x0013,
+ (unsigned int) 0x0014,
+ (unsigned int) 0x0015,
+ (unsigned int) 0x0016,
+ (unsigned int) 0x0017,
+ (unsigned int) 0x0018,
+ (unsigned int) 0x0019,
+ (unsigned int) 0x001A,
+ (unsigned int) 0x001B,
+ (unsigned int) 0x001C,
+ (unsigned int) 0x001D,
+ (unsigned int) 0x001E,
+ (unsigned int) 0x001F,
+ (unsigned int) 0x0020,
+ (unsigned int) 0x0021,
+ (unsigned int) 0x0022,
+ (unsigned int) 0x0023,
+ (unsigned int) 0x0024,
+ (unsigned int) 0x0025,
+ (unsigned int) 0x0026,
+ (unsigned int) 0x0027,
+ (unsigned int) 0x0028,
+ (unsigned int) 0x0029,
+ (unsigned int) 0x002A,
+ (unsigned int) 0x002B,
+ (unsigned int) 0x002C,
+ (unsigned int) 0x002D,
+ (unsigned int) 0x002E,
+ (unsigned int) 0x002F,
+ (unsigned int) 0x0030,
+ (unsigned int) 0x0031,
+ (unsigned int) 0x0032,
+ (unsigned int) 0x0033,
+ (unsigned int) 0x0034,
+ (unsigned int) 0x0035,
+ (unsigned int) 0x0036,
+ (unsigned int) 0x0037,
+ (unsigned int) 0x0038,
+ (unsigned int) 0x0039,
+ (unsigned int) 0x003A,
+ (unsigned int) 0x003B,
+ (unsigned int) 0x003C,
+ (unsigned int) 0x003D,
+ (unsigned int) 0x003E,
+ (unsigned int) 0x003F,
+ (unsigned int) 0x0040,
+ (unsigned int) 0x0041,
+ (unsigned int) 0x0042,
+ (unsigned int) 0x0043,
+ (unsigned int) 0x0044,
+ (unsigned int) 0x0045,
+ (unsigned int) 0x0046,
+ (unsigned int) 0x0047,
+ (unsigned int) 0x0048,
+ (unsigned int) 0x0049,
+ (unsigned int) 0x004A,
+ (unsigned int) 0x004B,
+ (unsigned int) 0x004C,
+ (unsigned int) 0x004D,
+ (unsigned int) 0x004E,
+ (unsigned int) 0x004F,
+ (unsigned int) 0x0050,
+ (unsigned int) 0x0051,
+ (unsigned int) 0x0052,
+ (unsigned int) 0x0053,
+ (unsigned int) 0x0054,
+ (unsigned int) 0x0055,
+ (unsigned int) 0x0056,
+ (unsigned int) 0x0057,
+ (unsigned int) 0x0058,
+ (unsigned int) 0x0059,
+ (unsigned int) 0x005A,
+ (unsigned int) 0x005B,
+ (unsigned int) 0x005C,
+ (unsigned int) 0x005D,
+ (unsigned int) 0x005E,
+ (unsigned int) 0x005F,
+ (unsigned int) 0x0060,
+ (unsigned int) 0x0061,
+ (unsigned int) 0x0062,
+ (unsigned int) 0x0063,
+ (unsigned int) 0x0064,
+ (unsigned int) 0x0065,
+ (unsigned int) 0x0066,
+ (unsigned int) 0x0067,
+ (unsigned int) 0x0068,
+ (unsigned int) 0x0069,
+ (unsigned int) 0x006A,
+ (unsigned int) 0x006B,
+ (unsigned int) 0x006C,
+ (unsigned int) 0x006D,
+ (unsigned int) 0x006E,
+ (unsigned int) 0x006F,
+ (unsigned int) 0x0070,
+ (unsigned int) 0x0071,
+ (unsigned int) 0x0072,
+ (unsigned int) 0x0073,
+ (unsigned int) 0x0074,
+ (unsigned int) 0x0075,
+ (unsigned int) 0x0076,
+ (unsigned int) 0x0077,
+ (unsigned int) 0x0078,
+ (unsigned int) 0x0079,
+ (unsigned int) 0x007A,
+ (unsigned int) 0x007B,
+ (unsigned int) 0x007C,
+ (unsigned int) 0x007D,
+ (unsigned int) 0x007E,
+ (unsigned int) 0x007F,
+ (unsigned int) 0x20AC,
+ (unsigned int) 0xFFFD, /* undefined */
+ (unsigned int) 0x201A,
+ (unsigned int) 0x0192,
+ (unsigned int) 0x201E,
+ (unsigned int) 0x2026,
+ (unsigned int) 0x2020,
+ (unsigned int) 0x2021,
+ (unsigned int) 0x02C6,
+ (unsigned int) 0x2030,
+ (unsigned int) 0x0160,
+ (unsigned int) 0x2039,
+ (unsigned int) 0x0152,
+ (unsigned int) 0xFFFD, /* undefined */
+ (unsigned int) 0x017D,
+ (unsigned int) 0xFFFD, /* undefined */
+ (unsigned int) 0xFFFD, /* undefined */
+ (unsigned int) 0x2018,
+ (unsigned int) 0x2019,
+ (unsigned int) 0x201C,
+ (unsigned int) 0x201D,
+ (unsigned int) 0x2022,
+ (unsigned int) 0x2013,
+ (unsigned int) 0x2014,
+ (unsigned int) 0x02DC,
+ (unsigned int) 0x2122,
+ (unsigned int) 0x0161,
+ (unsigned int) 0x203A,
+ (unsigned int) 0x0153,
+ (unsigned int) 0xFFFD, /* undefined */
+ (unsigned int) 0x017E,
+ (unsigned int) 0x0178,
+ (unsigned int) 0x00A0,
+ (unsigned int) 0x00A1,
+ (unsigned int) 0x00A2,
+ (unsigned int) 0x00A3,
+ (unsigned int) 0x00A4,
+ (unsigned int) 0x00A5,
+ (unsigned int) 0x00A6,
+ (unsigned int) 0x00A7,
+ (unsigned int) 0x00A8,
+ (unsigned int) 0x00A9,
+ (unsigned int) 0x00AA,
+ (unsigned int) 0x00AB,
+ (unsigned int) 0x00AC,
+ (unsigned int) 0x00AD,
+ (unsigned int) 0x00AE,
+ (unsigned int) 0x00AF,
+ (unsigned int) 0x00B0,
+ (unsigned int) 0x00B1,
+ (unsigned int) 0x00B2,
+ (unsigned int) 0x00B3,
+ (unsigned int) 0x00B4,
+ (unsigned int) 0x00B5,
+ (unsigned int) 0x00B6,
+ (unsigned int) 0x00B7,
+ (unsigned int) 0x00B8,
+ (unsigned int) 0x00B9,
+ (unsigned int) 0x00BA,
+ (unsigned int) 0x00BB,
+ (unsigned int) 0x00BC,
+ (unsigned int) 0x00BD,
+ (unsigned int) 0x00BE,
+ (unsigned int) 0x00BF,
+ (unsigned int) 0x00C0,
+ (unsigned int) 0x00C1,
+ (unsigned int) 0x00C2,
+ (unsigned int) 0x00C3,
+ (unsigned int) 0x00C4,
+ (unsigned int) 0x00C5,
+ (unsigned int) 0x00C6,
+ (unsigned int) 0x00C7,
+ (unsigned int) 0x00C8,
+ (unsigned int) 0x00C9,
+ (unsigned int) 0x00CA,
+ (unsigned int) 0x00CB,
+ (unsigned int) 0x00CC,
+ (unsigned int) 0x00CD,
+ (unsigned int) 0x00CE,
+ (unsigned int) 0x00CF,
+ (unsigned int) 0x00D0,
+ (unsigned int) 0x00D1,
+ (unsigned int) 0x00D2,
+ (unsigned int) 0x00D3,
+ (unsigned int) 0x00D4,
+ (unsigned int) 0x00D5,
+ (unsigned int) 0x00D6,
+ (unsigned int) 0x00D7,
+ (unsigned int) 0x00D8,
+ (unsigned int) 0x00D9,
+ (unsigned int) 0x00DA,
+ (unsigned int) 0x00DB,
+ (unsigned int) 0x00DC,
+ (unsigned int) 0x00DD,
+ (unsigned int) 0x00DE,
+ (unsigned int) 0x00DF,
+ (unsigned int) 0x00E0,
+ (unsigned int) 0x00E1,
+ (unsigned int) 0x00E2,
+ (unsigned int) 0x00E3,
+ (unsigned int) 0x00E4,
+ (unsigned int) 0x00E5,
+ (unsigned int) 0x00E6,
+ (unsigned int) 0x00E7,
+ (unsigned int) 0x00E8,
+ (unsigned int) 0x00E9,
+ (unsigned int) 0x00EA,
+ (unsigned int) 0x00EB,
+ (unsigned int) 0x00EC,
+ (unsigned int) 0x00ED,
+ (unsigned int) 0x00EE,
+ (unsigned int) 0x00EF,
+ (unsigned int) 0x00F0,
+ (unsigned int) 0x00F1,
+ (unsigned int) 0x00F2,
+ (unsigned int) 0x00F3,
+ (unsigned int) 0x00F4,
+ (unsigned int) 0x00F5,
+ (unsigned int) 0x00F6,
+ (unsigned int) 0x00F7,
+ (unsigned int) 0x00F8,
+ (unsigned int) 0x00F9,
+ (unsigned int) 0x00FA,
+ (unsigned int) 0x00FB,
+ (unsigned int) 0x00FC,
+ (unsigned int) 0x00FD,
+ (unsigned int) 0x00FE,
+ (unsigned int) 0x00FF
+};
+
+/* Exercise all 3 byte lengths: any ASCII character is 1 byte, 0xFC maps to
+ * U+00FC which is 2 bytes, and 0x80 maps to U+20AC which is 3 bytes.
+ */
+static const char *example_source = "print('Hello w\xfcrld - \x80');";
+
+/* Example: compile and run test source encoded in Windows codepage 1252. */
+int main(int argc, char *argv[]) {
+ duk_context *ctx;
+
+ (void) argc; (void) argv;
+
+ ctx = duk_create_heap_default();
+ if (!ctx) {
+ printf("Failed to create Duktape heap.\n");
+ return 1;
+ }
+
+ duk_decode_string_codepage(ctx, example_source, strlen(example_source), cp1252);
+ duk_eval_noresult(ctx);
+
+ duk_destroy_heap(ctx);
+ return 0;
+}