From 3fa7dde6977f60e78c1e9d7a84ca8f8b1a58ab96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anton=20L=2E=20=C5=A0ijanec?= Date: Thu, 14 May 2020 19:19:34 +0200 Subject: jsbundle alphabetical order --- src/jsbundle.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/jsbundle.c b/src/jsbundle.c index f7bf8d2..082794a 100644 --- a/src/jsbundle.c +++ b/src/jsbundle.c @@ -25,17 +25,20 @@ int bundle_js(char* bundle_filename, char* js_source_folder_name, char* file_ext mkdir_p(bundle_filename); } char copy_buffer; - DIR *dir; - struct dirent *ent; + // DIR *dir; + struct dirent **ent; + int number_of_files; // printf ("[jsbundle.c] bundle_filename: %s\n", bundle_filename); - if ((dir = opendir (js_source_folder_name)) != NULL) { + number_of_files = scandir(js_source_folder_name, &ent, NULL, alphasort); + if (number_of_files > -1) { /* print all the files and directories within directory */ - while ((ent = readdir (dir)) != NULL) { - if(strcmp(ent->d_name, ".") != 0 && strcmp(ent->d_name, "..") != 0) { - char *dot = strrchr(ent->d_name, '.'); + for (int i = 0; i < number_of_files; i++) { + if(strcmp(ent[i]->d_name, ".") != 0 && strcmp(ent[i]->d_name, "..") != 0) { + char *dot = strrchr(ent[i]->d_name, '.'); if(dot && !strcmp(dot, file_extension)) { + fprintf(stderr, "[jsbundle.c] bundling file %s\n", ent[i]->d_name); strcpy(source_filename, js_source_folder_name); - strcat(source_filename, ent->d_name); + strcat(source_filename, ent[i]->d_name); source_file = fopen(source_filename, "r"); // printf("[jsbundle.c] source_filename: %s\n", source_filename); fprintf(bundle_file, "\n/* %s */\n", source_filename); @@ -48,7 +51,7 @@ int bundle_js(char* bundle_filename, char* js_source_folder_name, char* file_ext } } } - closedir (dir); + // closedir (dir); fclose(bundle_file); } else { /* could not open directory */ -- cgit v1.2.3