#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:
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)
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]);
}
}