From 8178550d1aa2e7defd8b7729f53907a2b152dcdc Mon Sep 17 00:00:00 2001 From: netbenixcn Date: Thu, 4 Jun 2020 10:39:04 +0200 Subject: [PATCH] Added option for multiple command args at once --- colors.o | Bin 3680 -> 0 bytes main.c | 30 +++++++++++++++++++++++------- 2 files changed, 23 insertions(+), 7 deletions(-) delete mode 100644 colors.o diff --git a/colors.o b/colors.o deleted file mode 100644 index cfcc332978671005b0ade3322805213ced3b8617..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3680 zcmeH}O-vI}5XWBu`B2cJ9wd-hFDi*{TJc*nr41C4DzQKe5z;PY0b@U~U1KpMaM6T= z2{%1(z#BKOn0O%Z;Ms$T2aR4#;D#qJBsjA>W6SI=P4wy{-Ffqy|9kuPy|=Sn=#BT) z_jKHHN&b!HLH>Sr62t-ZX#L7%O+ly$KU_w`>#X${a{wXTOQ&|6k8tR%M^oGv1s&q;B4&9NM|4v)IwTN9mo9v^F2){ zU&-%lZ*FK@h7IokhCj3ucLn1FiGm2RwL#2geiR zv|3f~fCqsbt(d2^_P{#e=Xa=;y5PaD0mpH;Kl=gVK^lwsIPreL^TbnvKOdNiKTCurmRKU=iSw}@{GjwKuQjg@BxwZsF0t8_k-FBG-3DjMdnQOHIy zP8blWWGp@y>4_%?`}&4@hm*rSk$7)X%@!Wy%qbzC+!IIgnaPB)m&FQ(k#ne=bkxXX z@=qK>H=KEFICK#SZ|l=W&eR=3Hy)kSol~@+;uBp1Yl)|RXVet6ncKn*B*L&572mhLUyR$ zl9%iGfjH~&y+-?JJF7xfuKzdUtmk#y^3eYh`T>ghFOZzi5uYvK@$ZtpjkwgG5qjRI zkcU1%oa@@6;9S>M1rJcHwBlUW)F;531>4VXt6*ew%`{4;(k68%3ED)lsI)@f4$}E- z7Al3(a(UCx;J?xNqN%4Jf&jZ2Gs&rfo;Bz({@Dd!1e~(`@`Zt+UFGMoLrY6d%eBK5 z&sf-s$`?Nss##okF#L|

mRX@p(B7ZRGNcUlRAlK4=o31BPS%ZGU{`t!XK&~V$o#U@+9 z`;YsFeYrpH9}X|?jXl?BL&B8AnutTn{>bFs0aBazaRcLeWk=4nYK4Sb|8<-&m~Oj2 ISFs%GH_!~jg8%>k diff --git a/main.c b/main.c index 1f204c6..242a286 100644 --- a/main.c +++ b/main.c @@ -39,26 +39,41 @@ void exit_app(){ int commandHandler(char* cmd){ - if(!strcmp(cmd, "list")){ + + char* token = strtok(cmd, " "); + int argc = 1; + char* arg[10]; + int i = 0; + while( token != NULL ){ + arg[i] = token; + token = strtok(NULL, " "); + if(token != NULL){ + i++; + argc++; + } + } + char* p = arg[i]; + p[strlen(p)-1] = 0; + arg[i] = p; + + if(!strcmp(arg[0], "list") && argc < 2){ printf("\033[0;34mlist\033[0m : this list\n"); printf("\033[0;34mversion\033[0m : shows the version\n"); printf("\033[0;34mexit\033[0m : exit the program\n"); return 0; - } else if(!strcmp(cmd, "version")){ + } else if(!strcmp(arg[0], "version") && argc < 2){ printf("netbenixCMD (Version: \033[1;34m%s\033[0m)\n", VERSION); printf("Author: \033[1;34m%s\033[0m\n", AUTHOR); logger("Showing program version."); return 0; - } else if(!strcmp(cmd, "exit")){ + } else if(!strcmp(arg[0], "exit") && argc < 2){ return 1; }else { - printf("Unknown command.\n"); + printf("Unknown command. Please use --help for more information.\n"); logger("User entered unknown command."); return 0; } } - - int main(int argc, char *argv[]){ char buffer[1024]; logger("================================================"); @@ -100,9 +115,10 @@ int main(int argc, char *argv[]){ logger("Starting Command Handler."); while (!exit){ printf("\033[0;32mnCMD> \033[0m"); - scanf("%s", &cmd); + fgets(cmd, 128, stdin); exit = commandHandler(cmd); } + logger("Exiting Command Handler."); } printf("\n");