]> gitweb.hhaalo.de Git - mv_none_space.git/commitdiff
add rename mode
authorBastian Dehn <hhaalo@arcor.de>
Tue, 16 Jul 2024 13:28:14 +0000 (15:28 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Tue, 16 Jul 2024 13:28:14 +0000 (15:28 +0200)
src/main.c
src/rename.h

index 83f8778cd505a513216eda5122797a865d5fe5f9..4e513f57c04dd2e1b01689f5dafd56d80fdf3ec2 100644 (file)
@@ -5,7 +5,7 @@
 #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);
@@ -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
index 4d3b8c2512316dde729e360cf1e6d962f1dd242d..0ef7c3f1f434ce7101a71e73f0ea6bf09f913192 100644 (file)
@@ -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);