Changeset 4084


Ignore:
Timestamp:
02/18/08 10:42:28 (5 years ago)
Author:
erin_yueh
Message:

gsmd: bug fixed for some changes (Sudharshan S, Paulius Zaleckas)

Location:
trunk/src/target/gsm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/target/gsm/include/gsmd/gsmd.h

    r4067 r4084  
    7474 
    7575#define GSMD_ATCMD_TIMEOUT      60      /* If doesn get respond within 60 secs, discard */ 
    76 #define GSMD_MAX_INFO_LEN       64      /* by the standard it should be 2048, way too much :) */ 
    7776 
    7877struct gsmd { 
  • trunk/src/target/gsm/src/gsmd/usock.c

    r4067 r4084  
    619619 
    620620        DEBUGP("cmd = '%s', resp: '%s'\n", cmd->buf, resp); 
    621         if (strncmp(resp, "+CGMI: ", 7)) 
    622                 return -EINVAL; 
    623         resp += 7; 
     621        if (!strncmp(resp, "+CGMI: ", 7)) 
     622                resp += 7; 
    624623        return gsmd_ucmd_submit(gu, GSMD_MSG_PHONE, GSMD_PHONE_GET_MANUF, 
    625624                        cmd->id, strlen(resp) + 1, resp); 
    626         return 0; 
    627625} 
    628626 
     
    632630 
    633631        DEBUGP("cmd = '%s', resp: '%s'\n", cmd->buf, resp); 
    634         if (strncmp(resp, "+CGMM: ", 7)) 
    635                 return -EINVAL; 
    636         resp += 7; 
     632        if (!strncmp(resp, "+CGMM: ", 7)) 
     633                resp += 7; 
    637634        return gsmd_ucmd_submit(gu, GSMD_MSG_PHONE, GSMD_PHONE_GET_MODEL, 
    638635                        cmd->id, strlen(resp) + 1, resp); 
    639         return 0; 
    640636} 
    641637 
     
    645641 
    646642        DEBUGP("cmd = '%s', resp: '%s'\n", cmd->buf, resp); 
    647         if (strncmp(resp, "+CGMR: ", 7)) 
    648                 return -EINVAL; 
    649         resp += 7; 
     643        if (!strncmp(resp, "+CGMR: ", 7)) 
     644                resp += 7; 
    650645        return gsmd_ucmd_submit(gu, GSMD_MSG_PHONE, GSMD_PHONE_GET_REVISION, 
    651646                        cmd->id, strlen(resp) + 1, resp); 
    652         return 0; 
    653647} 
    654648 
     
    658652 
    659653        DEBUGP("cmd = '%s', resp: '%s'\n", cmd->buf, resp); 
    660         if (strncmp(resp, "+CGSN: ", 7)) 
    661                 return -EINVAL; 
    662         resp += 7; 
     654        if (!strncmp(resp, "+CGSN: ", 7)) 
     655                resp += 7; 
    663656        return gsmd_ucmd_submit(gu, GSMD_MSG_PHONE, GSMD_PHONE_GET_SERIAL, 
    664657                        cmd->id, strlen(resp) + 1, resp); 
    665         return 0; 
    666658} 
    667659 
     
    869861        if ( !er ) 
    870862                return -ENOMEM; 
    871          
     863 
    872864        //extrsp_dump(er);       
    873865 
     
    879871                buf[0] = '\0'; 
    880872        } 
    881         else if ( er->num_tokens == 3 && 
     873        else if ( er->num_tokens >= 3 && 
    882874                        er->tokens[0].type == GSMD_ECMD_RTT_NUMERIC && 
    883875                        er->tokens[1].type == GSMD_ECMD_RTT_NUMERIC && 
    884876                        er->tokens[2].type == GSMD_ECMD_RTT_STRING ) { 
    885877 
    886                  
    887878                strlcpy(buf, er->tokens[2].u.string, sizeof(buf)); 
    888879        } 
  • trunk/src/target/gsm/src/util/shell.c

    r4067 r4084  
    393393static int phone_msghandler(struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh) 
    394394{ 
    395         char *payload; 
     395        char *payload  = (char *)gmh + sizeof(*gmh); 
    396396        int *intresult = (void *)gmh + sizeof(*gmh); 
    397397 
    398398        switch (gmh->msg_subtype) { 
    399399        case GSMD_PHONE_GET_IMSI: 
    400                 payload = (char *)gmh + sizeof(*gmh); 
    401400                printf("imsi <%s>\n", payload); 
    402401                break; 
    403402        case GSMD_PHONE_GET_MANUF: 
    404                 payload = (char *)gmh + sizeof(*gmh); 
    405403                printf("manufacturer: %s\n", payload); 
    406404                break; 
    407405        case GSMD_PHONE_GET_MODEL: 
    408                 payload = (char *)gmh + sizeof(*gmh); 
    409406                printf("model: %s\n", payload); 
    410407                break; 
    411408        case GSMD_PHONE_GET_REVISION: 
    412                 payload = (char *)gmh + sizeof(*gmh); 
    413409                printf("revision: %s\n", payload); 
    414410                break; 
    415411        case GSMD_PHONE_GET_SERIAL: 
    416                 payload = (char *)gmh + sizeof(*gmh); 
    417412                printf("serial: %s\n", payload); 
    418413                break; 
Note: See TracChangeset for help on using the changeset viewer.