diff options
author | bpc2003 <wpesfriendnva@gmail.com> | 2025-03-12 13:44:08 -0400 |
---|---|---|
committer | bpc2003 <wpesfriendnva@gmail.com> | 2025-03-12 13:44:08 -0400 |
commit | 5f5b2e8ce67ce18519aea946a5e86b64384d491f (patch) | |
tree | a7c0b4fffe21f16bb7cc12a4923ee392d979d410 /src/cmd.c | |
parent | 5a58593fa8d9aa98811a00035356a479b992df26 (diff) |
Added handling for params
Diffstat (limited to 'src/cmd.c')
-rw-r--r-- | src/cmd.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -4,6 +4,7 @@ #include "cmd.h" char *getselector(char *str); +char **getparams(char *str); struct cmd eval(char *str) { @@ -22,6 +23,7 @@ struct cmd eval(char *str) } ret.selector = getselector(str); + ret.params = getparams(str); return ret; } @@ -39,3 +41,17 @@ char *getselector(char *str) selector[i] = '\0'; return selector; } + +char **getparams(char *str) +{ + char **params = calloc(1, sizeof(char *)); + char *tok = strtok(str, "/"); + int i = 0; + while ((tok = strtok(NULL, "/"))) { + if (i >= 1) + params = realloc(params, (i + 1) * sizeof(char *)); + params[i] = calloc(strlen(tok) + 1, sizeof(char)); + strcpy(params[i++], tok); + } + return params; +} |