
Untitled
By: a guest on
Apr 25th, 2012 | syntax:
C | size: 0.76 KB | hits: 16 | expires: Never
struct irc_msg_t {
char *prefix;
char *command;
char *params;
char *trailing;
};
struct irc_msg_t *ParseIRC(char *line)
{
struct irc_msg_t *irc_msg = (struct irc_msg_t *)malloc(sizeof(struct irc_msg_t));
char *ch, *sv_ptr;
irc_msg->prefix = irc_msg->command = irc_msg->params = irc_msg->trailing = NULL;
if(line[0] == ':') { /* check for prefix */
*line = line[1];
ch = strtok_r(line, " ", &sv_ptr); /* grab prefix */
if(ch != NULL)
irc_msg->prefix = strdup(ch);
else
return NULL; /* malformed IRC message */
}
ch = strtok_r(NULL, " ", &sv_ptr); /* grab command */
irc_msg->command = strdup(ch);
/* check for trailing */
/* todo */
/* grab params */
/* todo */
return irc_msg;
}