]> rtime.felk.cvut.cz Git - sysless.git/blobdiff - libs4c/cmdproc/cmd_proc.c
Add support for parsing of space separated parameters
[sysless.git] / libs4c / cmdproc / cmd_proc.c
index fe667b733d1c0578029c7137ed9d82af4a8e8ead..7b1dd843a86625e28f75a60be62c8e0432fb6f67 100644 (file)
@@ -128,6 +128,22 @@ int proc_cmd_line(cmd_io_t *cmd_io, cmd_des_t const **des_arr, char *line)
       if(param[parcnt])
         if(*param[parcnt]) parcnt++;
     }
+    if(des->mode&CDESM_SPACE_SEP){
+      while (*param[parcnt-1] && parcnt > (var ? 2 : 1) && parcnt < 9) {
+       p = param[parcnt-1];
+       while (*p && !isspace(*p)) p++;
+       if (*p) {
+         *p = '\0';
+         p = skip_white(p+1);
+         if (*p) {
+           parcnt++;
+           param[parcnt-1] = p;
+           continue;
+         }
+       }
+       break; /* No more parameters */
+      }
+    }
     param[parcnt]=0;
     if(!des->fnc) return -CMDERR_BADCMD;
     res=des->fnc(cmd_io,des,param);