summaryrefslogtreecommitdiff
path: root/mq_cmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'mq_cmd.c')
-rw-r--r--mq_cmd.c325
1 files changed, 0 insertions, 325 deletions
diff --git a/mq_cmd.c b/mq_cmd.c
deleted file mode 100644
index bc692a4..0000000
--- a/mq_cmd.c
+++ /dev/null
@@ -1,325 +0,0 @@
-#include "mq_cmd.h"
-
-#define MQ_CMD_MSG_SIZE 1024
-//last string element should be string ;]
-mq_cmd* mq_cmd_create(int id, char *cmd, size_t cmd_sz, char *param, size_t param_sz)
-{
- mq_cmd *ret = NULL;
-
- if (cmd == NULL)
- {
- PERM();
- return NULL;
- }
- if (param == NULL)
- {
- PERM();
- return NULL;
- }
-
- ret = malloc(sizeof(mq_cmd));
- if (ret == NULL)
- {
- ENL();
- return NULL;
- }
- memset(ret, 0, sizeof(mq_cmd));
-
- ret->id = id;
- ret->sz = MQ_CMD_MSG_SIZE;
- ret->buf = malloc(MQ_CMD_MSG_SIZE);
- memset(ret->buf, 0, MQ_CMD_MSG_SIZE); //speed? who cares
- if (ret->buf == NULL)
- {
- ENL();
- free(ret);
- return NULL;
- }
- //if not null string that everything will blow up pal
- //cmd[cmd_sz-1] = 0x0;
- //param[param_sz-1] = 0x0;
- char *t_cmd = malloc(cmd_sz+1);
- memcpy(t_cmd, cmd, cmd_sz);
- t_cmd[cmd_sz]=0;
-
- char *t_param = malloc(param_sz+1);
- memcpy(t_param, param, param_sz);
- t_param[param_sz]=0;
- snprintf(ret->buf,ret->sz-1,":%d:%s: %s", id, t_cmd, t_param);
-
- free(t_cmd);
- free(t_param);
-
- return ret;
-}
-
-mq_cmd* mq_cmd_creates(char *str, size_t sz, int id)
-{
- mq_cmd *ret = NULL;
-
- //just naive belive everything is fine in string
- ret = malloc(sizeof(mq_cmd)); //can blow up
- ret->buf = malloc(sz);
- if (ret->buf == NULL)
- {
- PERM();
- free(ret);
- return NULL;
- }
- memset(ret->buf, 0, MQ_CMD_MSG_SIZE);
- ret->sz = sz;
- memcpy(ret->buf,str,sz);
- ret->id = id;
-
- return ret;
-}
-
-int mq_cmd_id(mq_cmd *cmd)
-{
- int i,j,strt,sz;
- int id_parse;
- char buf[16]; //fix this
- /*:[ID]:*/
-
- if (cmd == NULL)
- {
- PERM();
- return -1;
- }
-
- i = 0;
- while ((cmd->buf[i] != 0) && (i<cmd->sz))
- {
- if (cmd->buf[i] == ':')
- {
- i++;
- strt = i;
- sz = 0;
- while ((cmd->buf[i] != ':')&&
- (cmd->buf[i] != '\0')&&
- (i<cmd->sz))
- {
- sz++;
- i++;
- }
- for (j=0;j<(strt+sz)||j<15;j++)
- {
- buf[j] = cmd->buf[strt+j];
- }
- buf[j] = 0x0;
- id_parse = atoi(buf);
- return id_parse;
- }
- i++;
- }
- return -1;
-}
-
-//buf contains pointer to cmd
-//sz contains size of buf
-//%s formatting should work badly, writting to buf modifies cmd
-//be carefull
-int mq_cmd_cmd(mq_cmd *cmd, char **buf, size_t *sz)
-{
- int i,strt,cnt,l_c;
-
- if (cmd == NULL)
- {
- PERM();
- return -1;
- }
- if (buf == NULL)
- {
- PERM();
- return -1;
- }
- if (sz == NULL)
- {
- PERM();
- return -1;
- }
-
- i = 0;
- l_c = 0;
- while ((cmd->buf[i] != 0)&&(i<cmd->sz))
- {
- if (cmd->buf[i] == ':')
- {
- l_c += 1;
- if (l_c == 2)
- {
- i++;
- break;
-
- }
- }
- i++;
- }
- strt = i;
- cnt = 0;
- while ((cmd->buf[i] != 0)&&(i<cmd->sz))
- {
-
- if (cmd->buf[i] == ':')
- break;
- cnt++;
- i++;
- }
- *buf = cmd->buf+strt;
- *sz = cnt;
-
- return 0;
-}
-
-int mq_cmd_param(mq_cmd *cmd, char **param, size_t *sz)
-{
- int i,strt,l_c;
-
- i = 0;
- l_c = 0;
- while ((cmd->buf[i] != 0)&&(i<cmd->sz))
- {
- if (cmd->buf[i] == ':')
- {
- l_c += 1;
- if (l_c == 3)
- {
- i++;
- break;
- }
- }
- i++;
- }
-
- while ((cmd->buf[i] != 0)&&(i<cmd->sz))
- {
- if (cmd->buf[i] != ' ') break;
- i++;
- }
- strt = i;
- *param = cmd->buf+strt;
-
- //buffer allways ends with zero, no worries
- *sz = strlen(*param);
-
- return 0;
-}
-
-size_t mq_cmd_size(mq_cmd *cmd)
-{
- if (cmd == NULL)
- {
- PERM();
- return -1;
- }
- return cmd->sz;
-}
-
-char *mq_cmd_buf(mq_cmd *cmd)
-{
- if (cmd == NULL)
- {
- PERM();
- return NULL;
- }
-
- return cmd->buf;
-}
-
-void mq_cmd_free(mq_cmd *mq)
-{
- if (mq != NULL)
- {
- free(mq->buf);
- mq->buf = NULL;
- free(mq);
- mq = NULL;
- }
-}
-
-
-int mq_cmd_o_cmp_param(mq_cmd *cmd, char *str)
-{
- int str_sz; //get strsize from strlen()
- size_t buf_sz;
- char *buf = NULL;
-
- if (cmd == NULL)
- {
- return -1;
- }
-
- if (str == NULL)
- {
- return -1;
- }
-
- if (-1 == mq_cmd_param(cmd, &buf, &buf_sz))
- {
- return -1;
- }
-
- str_sz = strlen(str);
- if (strncmp(buf, str, str_sz) != 0)
- {
- return -1;
- }
-
- return 0;
-}
-
-int mq_cmd_o_cmp_cmd( mq_cmd *cmd, char *str)
-{
- int str_sz; //get strsize from strlen()
- size_t buf_sz;
- char *buf = NULL;
-
- if (cmd == NULL)
- {
- PERM();
- return -1;
- }
-
- if (str == NULL)
- {
- PERM();
- return -1;
- }
-
- if (-1 == mq_cmd_cmd(cmd, &buf, &buf_sz))
- {
- return -1;
- }
-
- str_sz = strlen(str);
- if (strncmp(buf, str, str_sz) != 0)
- {
- return -1;
- }
-
- return 0;
-}
-
-int mq_cmd_o_cmp_id( mq_cmd *cmd, int id)
-{
- int fret;
- if (cmd == NULL)
- {
- PERM();
- return -1;
- }
-
- if (id < 0)
- {
- PERM();
- return -1;
- }
-
- if ((fret = mq_cmd_id(cmd)) != id)
- {
- ENL();
- return -1;
- }
-
- return 0;
-}