i++;
dst[dstcounter++] = WIDE_CHAR_SHORT_PREFIX;
dst[dstcounter++] = WIDE_CHAR_SHORT_A;
+ } else if (src[i] == 'o' && src[i + 1] == 'e') {
+ i++;
+ dst[dstcounter++] = WIDE_CHAR_SHORT_PREFIX;
+ dst[dstcounter++] = WIDE_CHAR_SHORT_o;
+ } else if (src[i] == 'O' && src[i + 1] == 'e') {
+ i++;
+ dst[dstcounter++] = WIDE_CHAR_SHORT_PREFIX;
+ dst[dstcounter++] = WIDE_CHAR_SHORT_O;
} else {
dst[dstcounter++] = src[i];
}
#define WIDE_CHAR_SHORT_PREFIX 0xc3
#define WIDE_CHAR_SHORT_a 0xa4
#define WIDE_CHAR_SHORT_A 0x84
+#define WIDE_CHAR_SHORT_o 0xb6
+#define WIDE_CHAR_SHORT_O 0x96
typedef void (*rename_func_ptr)(char* src, char* dst);
void escape_str(char* src, char* dst);
assert_string_equal(output, "Ächtzen");
}
+void rename_revert_oe(void **state)
+{
+ char* output = (char*) *state;
+ char* input = "Koenig";
+
+ rename_revert_str(input, output);
+
+ assert_string_equal(output, "König");
+}
+
+void rename_revert_Oe(void **state)
+{
+ char* output = (char*) *state;
+ char* input = "Oekosystem";
+
+ rename_revert_str(input, output);
+
+ assert_string_equal(output, "Ökosystem");
+}
+
int main()
{
const struct CMUnitTest tests[] = {
cmocka_unit_test_setup_teardown(rename_revert_spaces, setup, teardown),
cmocka_unit_test_setup_teardown(rename_revert_ae, setup, teardown),
cmocka_unit_test_setup_teardown(rename_revert_Ae, setup, teardown),
+ cmocka_unit_test_setup_teardown(rename_revert_oe, setup, teardown),
+ cmocka_unit_test_setup_teardown(rename_revert_Oe, setup, teardown),
};
return cmocka_run_group_tests(tests, NULL, NULL);