#include <stdio.h>
#include <sys/stat.h>
+#include <stdlib.h>
#include <glob.h>
+#include <string.h>
+#include "rename.h"
-int main(int argc, char* argv[])
+void rename_files(const char* dir_path)
{
- if (argc < 2) {
- printf("ERROR: %s <dir>\n", argv[0]);
- return 1;
- }
-
+ char* output_filename = malloc(sizeof(char) * STR_MAX_LENGTH);
+ memset(output_filename, 0, STR_MAX_LENGTH);
glob_t files;
struct stat statbuf;
- glob("*", 0, NULL, &files);
+
+ int len = strlen(dir_path);
+ char* pattern = malloc(sizeof(char) * len + 3);
+ sprintf(pattern, "%s/*", dir_path);
+
+ glob(pattern, 0, NULL, &files);
printf("count: %ld\n", files.gl_pathc);
for (int i = 0; i < files.gl_pathc; i++) {
stat(files.gl_pathv[i], &statbuf);
- if (S_ISREG(statbuf.st_mode)) {
- printf("filename: %s\n", files.gl_pathv[i]);
- }
+ 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);
if (S_ISDIR(statbuf.st_mode)) {
- printf("directory: %s\n", files.gl_pathv[i]);
+ rename_files(files.gl_pathv[i]);
}
+
+ memset(output_filename, 0, STR_MAX_LENGTH);
}
globfree(&files);
+ free(output_filename);
+ output_filename = NULL;
+ free(pattern);
+ pattern = NULL;
+}
+
+int main(int argc, char* argv[])
+{
+ if (argc < 2) {
+ printf("ERROR: %s <dir>\n", argv[0]);
+ return 1;
+ }
+
+ rename_files(argv[1]);
+
return 0;
}
\ No newline at end of file