diff --git a/README.md b/README.md index 44f3b8e..fc52d2f 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Tested on: *Ubuntu, Debian, Arch* Used libs for Linux: *gtk+3.0, libmysqlclient* -Version: *0.2.2* +Version: *0.2.3* ## Features: - A help page (OMG!!!) @@ -22,7 +22,7 @@ Install packages: - Ubuntu: ```sudo apt-get install make gcc git libgtk-3-dev libmysqlclient-dev``` - Debian: ```sudo apt-get install make gcc git libgtk-3-dev libmariadbclient-dev libmariadb-dev-compat``` -- Arch: ```sudo pacman -S make gcc git gtk3 mariadb-libs``` +- Arch: ```sudo pacman -S make gcc git gtk3 mariadb-libs pkgconf``` Clone repository: ```git clone https://github.com/netbenix/netbenixCMD.git``` @@ -36,10 +36,11 @@ After building use ```./netbenixCMD``` to start the program If you want to use the testing arguments use ```./netbenixCMD ``` ## Arguments -- ```--help``` => Displays all arguments -- ```--gtk-test``` => Opens the GTK Test Window -- ```--sql-test``` => Makes a test connection to a mysql server -- ```--sys-info``` => Gives you information about your system +- ```--help``` => Displays all arguments +- ```--gtk-test``` => Opens the GTK Test Window +- ```--sql-test``` => Makes a test connection to a mysql server +- ```--sys-info``` => Gives you information about your system +- ```--no-version-check``` => Skips the client version check ## Known Bugs - ```sql-test``` sha-256 passwords not working on Debian \ No newline at end of file diff --git a/commands/show_dir.c b/commands/show_dir.c index d1dadb0..4664644 100644 --- a/commands/show_dir.c +++ b/commands/show_dir.c @@ -35,13 +35,15 @@ void showDirectory(char *arg[]){ realpath(arg[1], path); //Get the absolute path of the directory if(d){ while((dir = readdir(d))){ - if(dir->d_type == 8){ //IF IS FILE + if(strcmp(dir->d_name, ".") && strcmp(dir->d_name, "..")){ + if(dir->d_type == 8){ //IF IS FILE printf("\033[1;34m%s\033[0m\n", dir->d_name); } else if(dir->d_type == 4){ //IF IS DIR printf("\033[1;33m%s\033[0m\n", dir->d_name); } else { //IF IS !FILE AND !DIR printf("%s\n", dir->d_name); } + } } closedir(d); //Close directory } diff --git a/etc/logo.c b/etc/logo.c index eb7cceb..2180236 100644 --- a/etc/logo.c +++ b/etc/logo.c @@ -8,9 +8,9 @@ char logo_row5[59] = "|_| |_|\\___|\\__|_.__/ \\___|_| |_|_/_/\\_\\\\____|_| |_ //Prints the logo void showLogo(){ - printf("\033[0;34m%s\033[0m\n", logo_row1); - printf("\033[0;34m%s\033[0m\n", logo_row2); - printf("\033[0;34m%s\033[0m\n", logo_row3); - printf("\033[0;34m%s\033[0m\n", logo_row4); - printf("\033[0;34m%s\033[0m\n\n", logo_row5); + printf("\033[1;34m%s\033[0m\n", logo_row1); + printf("\033[1;34m%s\033[0m\n", logo_row2); + printf("\033[1;34m%s\033[0m\n", logo_row3); + printf("\033[1;34m%s\033[0m\n", logo_row4); + printf("\033[1;34m%s\033[0m\n\n", logo_row5); } \ No newline at end of file diff --git a/main.c b/main.c index 76085f8..d161c44 100644 --- a/main.c +++ b/main.c @@ -17,11 +17,14 @@ #include "utils/logger.h" #include "utils/sys_info.h" #include "utils/update_check.h" +#include "etc/man/man.h" -#define VERSION "0.2.2" +#define VERSION "0.2.3" #define AUTHOR "netbenix" +bool VER_CHECK_ON_START = true; + // Color Codes: // Reset: \033[0m // Red: \033[0;31m @@ -62,12 +65,13 @@ int commandHandler(char *cmd){ arg[i] = p; //Start to compare the command - if(!strcmp(arg[0], "list")){ - printf("\033[1;34mcd\033[0m : change directory\n"); - printf("\033[1;34mdir\033[0m : show contents of directory\n"); - printf("\033[1;34mlist\033[0m : this list\n"); - printf("\033[1;34mversion\033[0m : shows the version\n"); - printf("\033[1;34mexit\033[0m : exit the program\n"); + if(!strcmp(arg[0], "help")){ + printf("\033[1;34mcd \033[0;35m[dir]\033[0m : change directory\n"); + printf("\033[1;34mls \033[0;35m[dir]\033[0m : show contents of directory\n"); + printf("\033[1;34mhelp\033[0m : this help list\n"); + printf("\033[1;34mman \033[0;35m[cmd]\033[0m : manual for the commands\n"); + printf("\033[1;34mversion\033[0m : shows the version\n"); + printf("\033[1;34mexit\033[0m : exit the program\n"); return 0; } else if(!strcmp(arg[0], "version")){ printf("netbenixCMD (Version: \033[1;34m%s\033[0m)\n", VERSION); @@ -77,14 +81,17 @@ int commandHandler(char *cmd){ return 0; } else if(!strcmp(arg[0], "exit")){ return 1; - } else if(!strcmp(arg[0], "dir")){ + } else if(!strcmp(arg[0], "ls")){ showDirectory(arg); return 0; } else if(!strcmp(arg[0], "cd")){ changeCurrentWorkDir(arg); return 0; + } else if(!strcmp(arg[0], "man")){ + showManEntry(arg); + return 0; } else { - printf("Unknown command. Please use 'list' for more information.\n"); + printf("Unknown command. Please use 'help' for more information.\n"); logger("User entered unknown command."); return 0; } @@ -101,7 +108,6 @@ int main(int argc, char *argv[]){ log_Specs(); //Log system specs showLogo(); //Show the logo logger("Logo Displayed."); - checkForUpdate(VERSION); //Check for newer version of client if(argc > 2){ printf("Too many arguments. Please use --help for more information.\n"); snprintf(buffer, sizeof(buffer), "[ERROR] Too many arguments. Argument count: %i", argc-1); @@ -113,24 +119,33 @@ int main(int argc, char *argv[]){ if(!strcmp(argv[1], "--help")){ logger("Showing Help."); outputHelp(); + exit(0); } else if (!strcmp(argv[1], "--gtk-test")){ logger("Stating GTK Test."); createGTKTestWindow(); + exit(0); } else if (!strcmp(argv[1], "--sys-info")){ logger("Showing System Information."); print_Specs(); + exit(0); } else if (!strcmp(argv[1], "--sql-test")){ logger("Starting SQL Test."); testSQLConnection(); + exit(0); + } else if (!strcmp(argv[1], "--no-version-check")){ + VER_CHECK_ON_START = false; + logger("[INFO] Argument 'no-version-check' used."); } else { printf("Argument unknown. Please use --help for more information.\n"); snprintf(buffer, sizeof(buffer), "[ERROR] Argument unknown. Given argument: %s", argv[1]); logger(buffer); + exit(0); } } + if(VER_CHECK_ON_START){checkForUpdate(VERSION);}//Check for newer version of client + //If no startup arg is given, start command handler - if(argc == 1){ int exit = 0; char cmd[128]; logger("Starting Command Handler."); @@ -141,7 +156,6 @@ int main(int argc, char *argv[]){ exit = commandHandler(cmd); } logger("Exiting Command Handler."); - } printf("\n"); exit_app();