]> gitweb.hhaalo.de Git - mv_none_space.git/commitdiff
change rename wide char with correct return
authorBastian Dehn <hhaalo@arcor.de>
Sat, 28 Feb 2026 09:06:22 +0000 (10:06 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 28 Feb 2026 09:06:22 +0000 (10:06 +0100)
src/rename.c

index 749ff962350e317fa551f652a62a21df384bff18..95a605fb2918cbacff9c4dbee894ddd114635a3d 100644 (file)
@@ -4,9 +4,9 @@
 
 #include "rename.h"
 
-uint8_t _replace_two_byte_wide_char(const char character, char* dest)
+uint8_t _replace_two_byte_wide_char(const char* wide_char, char* dest)
 {
-       switch (character) {
+       switch (wide_char[1]) {
        case WIDE_CHAR_a:
                dest[0] = 'a';
                dest[1] = 'e';
@@ -36,7 +36,9 @@ uint8_t _replace_two_byte_wide_char(const char character, char* dest)
                dest[1] = 's';
                break;
        default:
-               return 0;
+               dest[0] = wide_char[0];
+               dest[1] = wide_char[1];
+               break;
        }
 
        return 2;
@@ -157,21 +159,16 @@ char* rename_string(const char* src)
        uint16_t dest_count = 0;
        size_t length = strlen(src);
        uint8_t wide_char_len = 0;
-       uint8_t replaced = 0;
        for (size_t i = 0; i < length; i++) {
                wide_char_len = wide_char_length(src[i]);
                switch (wide_char_len) {
                case 2:
-                       replaced = _replace_two_byte_wide_char(src[i + 1], &dest[dest_count]);
-                       if (replaced > 0) {
-                               dest_count += replaced;
-                               i++;
-                       } else {
-                               dest_count += _replace_char(src[i], &dest[dest_count]);
-                       }
+                       dest_count += _replace_two_byte_wide_char(&src[i], &dest[dest_count]);
+                       i++;
                        break;
                default:
                        dest_count += _replace_char(src[i], &dest[dest_count]);
+                       break;
                }
        }