summaryrefslogtreecommitdiff
path: root/src/cmd.c
diff options
context:
space:
mode:
authorbpc2003 <wpesfriendnva@gmail.com>2025-03-11 16:10:18 -0400
committerbpc2003 <wpesfriendnva@gmail.com>2025-03-11 16:10:18 -0400
commit5a58593fa8d9aa98811a00035356a479b992df26 (patch)
tree0346c05f362fa2663451776edafbaf6bade67cde /src/cmd.c
parent73ff11749ff0f7b33bcda855ddbf5382282b6dc1 (diff)
got started on command parsing
Diffstat (limited to 'src/cmd.c')
-rw-r--r--src/cmd.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/cmd.c b/src/cmd.c
index 7608d73..266f17b 100644
--- a/src/cmd.c
+++ b/src/cmd.c
@@ -1,7 +1,9 @@
#include <string.h>
+#include <stdlib.h>
#include "cmd.h"
+char *getselector(char *str);
struct cmd eval(char *str)
{
@@ -16,7 +18,24 @@ struct cmd eval(char *str)
ret.type = DEL;
} else {
ret.type = ERR;
+ return ret;
}
+ ret.selector = getselector(str);
return ret;
}
+
+char *getselector(char *str)
+{
+ char *selector = calloc(1, sizeof(char));
+ int pos = 4, i;
+ for (i = 0; str[pos] != '/' && pos < strlen(str); ++pos) {
+ if (i >= 1) {
+ selector = realloc(selector, (i + 1) * sizeof(char));
+ }
+ selector[i++] = str[pos];
+ }
+ selector = realloc(selector, (i + 1) * sizeof(char));
+ selector[i] = '\0';
+ return selector;
+}