}
}
+char* rename_string(const char* src)
+{
+ size_t length = strlen(src);
+ int dest_count = 0;
+ char* dest = malloc(sizeof(char) * STR_MAX_LENGTH);
+
+ for (int i = 0; i < length; i++) {
+ if (src[i] == SPACE) {
+ dest[dest_count++] = '_';
+ } else if (src[i] == WIDE_CHAR_PREFIX && src[i + 1] == WIDE_CHAR_a) {
+ i++;
+ dest[dest_count++] = 'a';
+ dest[dest_count++] = 'e';
+ } else if (src[i] == WIDE_CHAR_PREFIX && src[i + 1] == WIDE_CHAR_A) {
+ i++;
+ dest[dest_count++] = 'A';
+ dest[dest_count++] = 'e';
+ } else if (src[i] == WIDE_CHAR_PREFIX && src[i + 1] == WIDE_CHAR_o) {
+ i++;
+ dest[dest_count++] = 'o';
+ dest[dest_count++] = 'e';
+ } else if (src[i] == WIDE_CHAR_PREFIX && src[i + 1] == WIDE_CHAR_O) {
+ i++;
+ dest[dest_count++] = 'O';
+ dest[dest_count++] = 'e';
+ } else if (src[i] == WIDE_CHAR_PREFIX && src[i + 1] == WIDE_CHAR_u) {
+ i++;
+ dest[dest_count++] = 'u';
+ dest[dest_count++] = 'e';
+ } else if (src[i] == WIDE_CHAR_PREFIX && src[i + 1] == WIDE_CHAR_U) {
+ i++;
+ dest[dest_count++] = 'U';
+ dest[dest_count++] = 'e';
+ } else if (src[i] == WIDE_CHAR_PREFIX && src[i + 1] == WIDE_CHAR_SS) {
+ i++;
+ dest[dest_count++] = 's';
+ dest[dest_count++] = 's';
+ } else {
+ dest[dest_count++] = src[i];
+ }
+ }
+
+ dest[dest_count] = '\0';
+ length = strlen(dest) + 1;
+ dest = realloc(dest, sizeof(char) * length);
+
+ return dest;
+}
+
void rename_revert_str(const char* src, char* dst)
{
int len = strlen(src);
__attribute_deprecated__ void rename_point_str(const char* src, char* dst);
__attribute_deprecated__ void rename_lower_str(const char* src, char* dst);
__attribute_deprecated__ void rename_str(const char* src, char* dst);
+char* rename_string(const char* src);
__attribute_deprecated__ void rename_revert_str(const char* src, char* dst);
#endif
\ No newline at end of file
return 0;
}
-void rename_spaces(void **state)
+void rename_spaces()
{
- char* output = (char*) *state;
char* input = "Dies ist ein Test Satz";
- rename_str(input, output);
+ char* output = rename_string(input);
assert_string_equal(output, "Dies_ist_ein_Test_Satz");
+
+ free(output);
+ output = NULL;
}
void rename_ae(void **state)