void rename_files(const char* dir_path, rename_func_ptr renamefunc)
{
+ char* input_filename = malloc(sizeof(char) * STR_MAX_LENGTH);
+ memset(input_filename, 0, STR_MAX_LENGTH);
char* output_filename = malloc(sizeof(char) * STR_MAX_LENGTH);
memset(output_filename, 0, STR_MAX_LENGTH);
glob_t files;
rename(files.gl_pathv[i], output_filename);
}
- if (S_ISDIR(statbuf.st_mode))
- rename_files(output_filename, renamefunc);
+ if (S_ISDIR(statbuf.st_mode)) {
+ escape_str(output_filename, input_filename);
+ rename_files(input_filename, renamefunc);
+ }
memset(output_filename, 0, STR_MAX_LENGTH);
+ memset(input_filename, 0, STR_MAX_LENGTH);
}
globfree(&files);
free(output_filename);
output_filename = NULL;
+ free(input_filename);
+ input_filename = NULL;
free(pattern);
pattern = NULL;
}
void escape_str_test(void **state)
{
char* output = (char*) *state;
- char* input = "Dies ist [die] (Geschichte) von";
+ char* input = "Dies ist [die] (Geschichte) {von}";
escape_str(input, output);
- assert_string_equal(output, "Dies\\ ist\\ \\[die\\]\\ \\(Geschichte\\)\\ von");
+ assert_string_equal(output, "Dies\\ ist\\ \\[die\\]\\ \\(Geschichte\\)\\ \\{von\\}");
}
int main()