From: Bastian Dehn Date: Tue, 16 Jul 2024 13:28:14 +0000 (+0200) Subject: add rename mode X-Git-Tag: 1.0.0^2^2~15 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=0a76f8a4ee698e3187396c40493334758b9bacc7;p=mv_none_space.git add rename mode --- diff --git a/src/main.c b/src/main.c index 83f8778..4e513f5 100644 --- a/src/main.c +++ b/src/main.c @@ -5,7 +5,7 @@ #include #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); @@ -23,11 +23,11 @@ void rename_files(const char* dir_path) 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); } @@ -46,7 +46,10 @@ int main(int argc, char* argv[]) 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 diff --git a/src/rename.h b/src/rename.h index 4d3b8c2..0ef7c3f 100644 --- a/src/rename.h +++ b/src/rename.h @@ -3,6 +3,7 @@ #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);