From 3c71455bd6d76bf3bdb6be4a3f7f94ae053139a1 Mon Sep 17 00:00:00 2001 From: mrdudz Date: Sun, 24 Jul 2022 23:49:45 +0200 Subject: [PATCH] test related to issue #1373, should be move to val in pr #1807 --- test/todo/bug1373.c | 47 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 test/todo/bug1373.c diff --git a/test/todo/bug1373.c b/test/todo/bug1373.c new file mode 100644 index 000000000..e42ae3f9a --- /dev/null +++ b/test/todo/bug1373.c @@ -0,0 +1,47 @@ + +/* #1373 - #pragma charmap works in unexpected ways */ + +#include +#include + +char res0[10]; +char res1[10]; +char res2[10]; +char res3[10]; +char res4[10]; + +int err = 0; + +#pragma charmap(0x61, 0x44) +#define STRING_A "abAB" + +extern char mappedA[5]; + +#pragma charmap(0x61, 0x61) +char notmappedA[5] = "abAB"; + +#pragma charmap(0x61, 0x42) +int main(void) +{ + char mappedB[5] = STRING_A; + sprintf(res0, "abAB"); /* expected: BbAB */ + +#pragma charmap(0x61, 0x61) + sprintf(res1, mappedA); /* expected: CbAB */ + sprintf(res2, STRING_A); /* expected: abAB */ + sprintf(res3, mappedB); /* expected: BBaB */ + +#pragma charmap(0x61, 0x43) + sprintf(res4, notmappedA); /* expected: abAB */ + +#pragma charmap(0x61, 0x61) + puts(res0); if (strcmp(res0, "BbAB") != 0) { puts("expected: BbAB"); err++; } + puts(res1); if (strcmp(res1, "CbAB") != 0) { puts("expected: CbAB"); err++; } + puts(res2); if (strcmp(res2, "abAB") != 0) { puts("expected: abAB"); err++; } + puts(res3); if (strcmp(res3, "BBaB") != 0) { puts("expected: BBaB"); err++; } + puts(res4); if (strcmp(res4, "abAB") != 0) { puts("expected: abAB"); err++; } + + return err; +} + +char mappedA[5] = "abAB";