#include <string.h>
#include "rename.h"
-void rename_files(const char* dir_path)
+void rename_files(const char* dir_path, rename_func_ptr renamefunc)
{
char* output_filename = malloc(sizeof(char) * STR_MAX_LENGTH);
memset(output_filename, 0, STR_MAX_LENGTH);
rename_lower_str(files.gl_pathv[i], output_filename);
if (strcmp(files.gl_pathv[i], output_filename) != 0) {
printf("%s -> %s\n", files.gl_pathv[i], output_filename);
- rename(files.gl_pathv[i], output_filename);
+ renamefunc(files.gl_pathv[i], output_filename);
}
if (S_ISDIR(statbuf.st_mode))
- rename_files(output_filename);
+ rename_files(output_filename, renamefunc);
memset(output_filename, 0, STR_MAX_LENGTH);
}
return 1;
}
- rename_files(argv[1]);
+ if (argc == 3 && strcmp(argv[2], "lower") == 0)
+ rename_files(argv[1], rename_lower_str);
+ else
+ rename_files(argv[1], rename_str);
return 0;
}
\ No newline at end of file
#define STR_MAX_LENGTH 255
+typedef void (*rename_func_ptr)(char* src, char* dst);
void rename_lower_str(char* src, char* dst);
void rename_str(char* src, char* dst);