r4101 - trunk/src/target/gsm/src/gsmd
erin_yueh at sita.openmoko.org
erin_yueh at sita.openmoko.org
Thu Feb 21 12:41:32 CET 2008
Author: erin_yueh
Date: 2008-02-21 12:41:29 +0100 (Thu, 21 Feb 2008)
New Revision: 4101
Modified:
trunk/src/target/gsm/src/gsmd/usock.c
Log:
gsmd: get the operator list 2nd try (Paulius Zaleckas)
Modified: trunk/src/target/gsm/src/gsmd/usock.c
===================================================================
--- trunk/src/target/gsm/src/gsmd/usock.c 2008-02-21 11:32:08 UTC (rev 4100)
+++ trunk/src/target/gsm/src/gsmd/usock.c 2008-02-21 11:41:29 UTC (rev 4101)
@@ -921,6 +921,13 @@
if (strncmp(str, "+COPS: ", 7))
return -EINVAL;
+ /*
+ * string ",," means the begginig of extended parameters and we
+ * don't want to scan them for operators.
+ */
+ ptr = strstr(str, ",,");
+ if(ptr)
+ ptr[0] = '\0';
ptr = (char *) str;
while (*str) {
@@ -958,7 +965,7 @@
//extrsp_dump(er);
- if ( er->num_tokens == 4 &&
+ if ( er->num_tokens >= 4 &&
er->tokens[0].type == GSMD_ECMD_RTT_NUMERIC &&
er->tokens[1].type == GSMD_ECMD_RTT_STRING &&
er->tokens[2].type == GSMD_ECMD_RTT_STRING &&
@@ -1002,6 +1009,8 @@
int len, ret;
len = network_opers_parse(resp, &buf);
+ if(len < 0)
+ return len; /* error we got from network_opers_parse */
ret = gsmd_ucmd_submit(gu, GSMD_MSG_NETWORK, GSMD_NETWORK_OPER_LIST,
cmd->id, sizeof(*buf) * (len + 1), buf);
More information about the commitlog
mailing list