Mercurial > pidgin
comparison libpurple/protocols/msn/command.c @ 23530:9688908af52d
Workaround a bug in MSN servers where it sends an extra space at the
end of the ILN command. Also used g_strsplit_set so it doesn't
accidentally drop command parameters when there are double spaces.
Fixes #6302.
| author | Elliott Sales de Andrade <qulogic@pidgin.im> |
|---|---|
| date | Sun, 13 Jul 2008 04:55:39 +0000 |
| parents | 7e16d193bb57 |
| children | a99b6dcdb60d |
comparison
equal
deleted
inserted
replaced
| 23529:4162ac08c775 | 23530:9688908af52d |
|---|---|
| 49 param_start = strchr(cmd->command, ' '); | 49 param_start = strchr(cmd->command, ' '); |
| 50 | 50 |
| 51 if (param_start) | 51 if (param_start) |
| 52 { | 52 { |
| 53 *param_start++ = '\0'; | 53 *param_start++ = '\0'; |
| 54 cmd->params = g_strsplit(param_start, " ", 0); | 54 cmd->params = g_strsplit_set(param_start, " ", 0); |
| 55 } | 55 } |
| 56 | 56 |
| 57 if (cmd->params != NULL) | 57 if (cmd->params != NULL) |
| 58 { | 58 { |
| 59 int c; | 59 int c; |
| 60 | 60 |
| 61 for (c = 0; cmd->params[c]; c++); | 61 for (c = 0; cmd->params[c] && cmd->params[c][0]; c++); |
| 62 cmd->param_count = c; | 62 cmd->param_count = c; |
| 63 | 63 |
| 64 if (cmd->param_count) { | 64 if (cmd->param_count) { |
| 65 char *param = cmd->params[0]; | 65 char *param = cmd->params[0]; |
| 66 cmd->trId = is_num(param) ? atoi(param) : 0; | 66 cmd->trId = is_num(param) ? atoi(param) : 0; |
