From: Bastian Dehn Date: Fri, 27 Feb 2026 16:29:06 +0000 (+0100) Subject: change normal replace into extra method X-Git-Tag: 1.1.4^2~10 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=b93fbf59263285a9c9f77f01f29d1533e1ec2349;p=mv_none_space.git change normal replace into extra method --- diff --git a/src/rename.c b/src/rename.c index 2dd57e9..363f2f5 100644 --- a/src/rename.c +++ b/src/rename.c @@ -3,7 +3,7 @@ #include #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]); } }