]> gitweb.hhaalo.de Git - mv_none_space.git/commitdiff
change normal replace into extra method
authorBastian Dehn <hhaalo@arcor.de>
Fri, 27 Feb 2026 16:29:06 +0000 (17:29 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Fri, 27 Feb 2026 16:29:06 +0000 (17:29 +0100)
src/rename.c

index 2dd57e92df57755ab57e5d252e144a24817b8dff..363f2f501fec81e41571004ba2b6965a1ec66f09 100644 (file)
@@ -3,7 +3,7 @@
 #include <string.h>
 #include "rename.h"
 
-void _replace_two_byte_wide_char(const char character, char* dest)
+unsigned int _replace_two_byte_wide_char(const char character, char* dest)
 {
        switch (character) {
        case WIDE_CHAR_a:
@@ -37,6 +37,22 @@ void _replace_two_byte_wide_char(const char character, char* dest)
        default:
                break;
        }
+
+       return 2;
+}
+
+unsigned int _replace_char(const char character, char* dest)
+{
+       switch (character) {
+       case SPACE:
+               *dest = '_';
+               break;
+       default:
+               *dest = character;
+               break;
+       }
+
+       return 1;
 }
 
 unsigned int wide_char_length(const char character)
@@ -142,17 +158,13 @@ char* rename_string(const char* src)
        unsigned int wide_char_len = 0;
        for (size_t i = 0; i < length; i++) {
                wide_char_len = wide_char_length(src[i]);
-               if (wide_char_len == 0) {
-                       if (src[i] == SPACE)
-                               dest[dest_count++] = '_';
-                       else
-                               dest[dest_count++] = src[i];
-               }
-
-               if (wide_char_len == 2) {
-                       _replace_two_byte_wide_char(src[i + 1], &dest[dest_count]);
-                       dest_count += 2;
+               switch (wide_char_len) {
+               case 2:
+                       dest_count += _replace_two_byte_wide_char(src[i + 1], &dest[dest_count]);
                        i++;
+                       break;
+               default:
+                       dest_count += _replace_char(src[i], &dest[dest_count]);
                }
        }