Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string.h>
- typedef struct event {
- char *command;
- //CLIENT *client;
- char *raw;
- char *args[];
- int state;
- } event;
- event parse(char *text)
- {
- char *raw;
- char *command;
- char tmp = text;
- for(int i = 0; *text != ' '; i++) *command++ = *text++;
- *command ='\0';
- for(; *text == ' '; *text++);
- int arg_count = args_of(command);
- if(arg_count == -1)
- {
- event *ret;
- ret->command = command;
- ret->raw = tmp;
- ret->args = {'\0'};
- ret->state = -1;
- return ret;
- }
- char *args[arg_count];
- for(int i = 0; *text != ':'; *text++)
- {
- if(*text == ' ')
- {
- *args[i] = '\0';
- i++;
- }
- else
- {
- *args[i]++ = *text;
- }
- }
- *text++;
- if(strlen(args[i]) < 1)
- {
- for(; *text != '\0';) *args[i]++ = *text++;
- }
- else
- {
- *args[i] = '\0';
- i++;
- for(; *text != '\0';) *args[i]++ = *text++;
- }
- event ret;
- ret->command = command;
- ret->raw = tmp;
- ret->args = args;
- if(i > arg_count)
- {
- ret->state = -1;
- }
- else
- {
- ret->state = 1;
- }
- return ret;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement