libgaim/protocols/msn/command.c

branch
cpw.khc.msnp14
changeset 20473
91e1b3a49d10
parent 20472
6a6d2ef151e6
child 20479
03c44889c50f
equal deleted inserted replaced
20472:6a6d2ef151e6 20473:91e1b3a49d10
110 msn_command_from_string(const char *string) 110 msn_command_from_string(const char *string)
111 { 111 {
112 MsnCommand *cmd; 112 MsnCommand *cmd;
113 char *tmp; 113 char *tmp;
114 char *param_start; 114 char *param_start;
115 char *param;
116 int c;
117 115
118 g_return_val_if_fail(string != NULL, NULL); 116 g_return_val_if_fail(string != NULL, NULL);
119 117
120 tmp = g_strdup(string); 118 tmp = g_strdup(string);
121 param_start = strchr(tmp, ' '); 119 param_start = strchr(tmp, ' ');
125 123
126 if (param_start) 124 if (param_start)
127 { 125 {
128 *param_start++ = '\0'; 126 *param_start++ = '\0';
129 cmd->params = g_strsplit(param_start, " ", 0); 127 cmd->params = g_strsplit(param_start, " ", 0);
128 }
129
130 if (cmd->params != NULL)
131 {
132 char *param;
133 int c;
130 134
131 for (c = 0; cmd->params[c]; c++); 135 for (c = 0; cmd->params[c]; c++);
132 cmd->param_count = c; 136 cmd->param_count = c;
133 137
134 param = cmd->params[0]; 138 param = cmd->params[0];
135 139
136 cmd->trId = is_num(param) ? atoi(param) : 0; 140 cmd->trId = is_num(param) ? atoi(param) : 0;
137 } 141 }else{
138 else
139 cmd->trId = 0; 142 cmd->trId = 0;
140 } 143 }
144
141 /*add payload Length checking*/ 145 /*add payload Length checking*/
142 msn_set_payload_len(cmd); 146 msn_set_payload_len(cmd);
143 gaim_debug_info("MaYuan","get payload len:%d\n",cmd->payload_len); 147 gaim_debug_info("MaYuan","get payload len:%d\n",cmd->payload_len);
144 148
145 msn_command_ref(cmd); 149 msn_command_ref(cmd);

mercurial