]> gitweb.hhaalo.de Git - mv_none_space.git/commitdiff
add ss to umlaut
authorBastian Dehn <hhaalo@arcor.de>
Fri, 19 Jul 2024 07:27:33 +0000 (09:27 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Fri, 19 Jul 2024 07:27:33 +0000 (09:27 +0200)
src/rename.c
src/rename.h
tests/rename_tests.c

index 8b88e5b582f469b0e872edb5a9992be998671c1d..c799002e1ab1bccc2b8d2df01c93ca1ec9dd87a2 100644 (file)
@@ -132,6 +132,10 @@ void rename_revert_str(char* src, char* dst)
                        i++;
                        dst[dstcounter++] = WIDE_CHAR_SHORT_PREFIX;
                        dst[dstcounter++] = WIDE_CHAR_SHORT_U;
+               } else if (src[i] == 's' && src[i + 1] == 's') {
+                       i++;
+                       dst[dstcounter++] = WIDE_CHAR_SHORT_PREFIX;
+                       dst[dstcounter++] = WIDE_CHAR_SHORT_SS;
                } else {
                        dst[dstcounter++] = src[i];
                }
index c6db8a4ad473f7967757d8cd328885e428a1e9d2..fc7adcb4121be57a016e7897957d159ac423c9a7 100644 (file)
@@ -28,6 +28,7 @@
 #define WIDE_CHAR_SHORT_O 0x96
 #define WIDE_CHAR_SHORT_u 0xbc
 #define WIDE_CHAR_SHORT_U 0x9c
+#define WIDE_CHAR_SHORT_SS 0x9f
 
 typedef void (*rename_func_ptr)(char* src, char* dst);
 void escape_str(char* src, char* dst);
index 4d653c72cff8359f33264d595ade470d36eff955..4a0c85e64042866d070a66ff743af83e7854ab8d 100644 (file)
@@ -207,6 +207,16 @@ void rename_revert_Ue(void **state)
        assert_string_equal(output, "Überlastung");
 }
 
+void rename_revert_ss(void **state)
+{
+       char* output = (char*) *state;
+       char* input = "Gruss";
+
+       rename_revert_str(input, output);
+
+       assert_string_equal(output, "Gruß");
+}
+
 int main()
 {
        const struct CMUnitTest tests[] = {
@@ -228,6 +238,7 @@ int main()
                cmocka_unit_test_setup_teardown(rename_revert_Oe, setup, teardown),
                cmocka_unit_test_setup_teardown(rename_revert_ue, setup, teardown),
                cmocka_unit_test_setup_teardown(rename_revert_Ue, setup, teardown),
+               cmocka_unit_test_setup_teardown(rename_revert_ss, setup, teardown),
        };
 
        return cmocka_run_group_tests(tests, NULL, NULL);