-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello list,
I just attempt to eliminate GCC warnings resulting from "-Wall - -std=gnu99" cflags. Most changes are trivial including fixes against typo and removing unused codes. Also, this changes prototypes for parser-oriented functions with const modifier. Please refer to the attachment for details. Thanks, - -jserv -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHZQQV0Wz/dZh2kkkRAjxbAKCqlBUoONzlfpKOEtR8HEPgTlzbFwCgjZvm i11Em0JeMMHC4Kca6BiGF/A= =yB9h -----END PGP SIGNATURE-----
Index: include/gsmd/gsmd.h =================================================================== --- include/gsmd/gsmd.h (revision 3656) +++ include/gsmd/gsmd.h (working copy) @@ -4,6 +4,7 @@ #ifdef __GSMD__ #include <sys/types.h> +#include <sys/time.h> #include <common/linux_list.h> @@ -118,6 +119,9 @@ void __gsmd_log(int level, const char *f extern int gsmd_simplecmd(struct gsmd *gsmd, char *cmdtxt); +extern int gsmd_initsettings(struct gsmd *gsmd); +extern int gmsd_alive_start(struct gsmd *gsmd); + /*********************************************************************** * timer handling ***********************************************************************/ @@ -130,7 +134,7 @@ struct gsmd_timer { }; int gsmd_timer_init(void); -void gmsd_timer_check_n_run(void); +void gsmd_timer_check_n_run(void); struct gsmd_timer *gsmd_timer_alloc(void); int gsmd_timer_register(struct gsmd_timer *timer); Index: include/gsmd/sms.h =================================================================== --- include/gsmd/sms.h (revision 3656) +++ include/gsmd/sms.h (working copy) @@ -18,7 +18,8 @@ int cbs_pdu_to_msg(struct gsmd_cbm *dst, int usock_rcv_sms(struct gsmd_user *gu, struct gsmd_msg_hdr *gph, int len); int usock_rcv_cb(struct gsmd_user *gu, struct gsmd_msg_hdr *gph, int len); - +int sms_pdu_decode_dcs(struct gsmd_sms_datacodingscheme *dcs, + const u_int8_t *data); #endif /* __GSMD__ */ #endif Index: include/gsmd/vendorplugin.h =================================================================== --- include/gsmd/vendorplugin.h (revision 3656) +++ include/gsmd/vendorplugin.h (working copy) @@ -11,14 +11,15 @@ struct gsmd_unsolicit; struct gsmd_vendor_plugin { struct llist_head list; - unsigned char *name; - unsigned char *ext_chars; + char *name; + char *ext_chars; unsigned int num_unsolicit; const struct gsmd_unsolicit *unsolicit; int (*detect)(struct gsmd *g); int (*initsettings)(struct gsmd *g); }; +extern int gsmd_vendor_plugin_load(char *name); extern int gsmd_vendor_plugin_register(struct gsmd_vendor_plugin *pl); extern void gsmd_vendor_plugin_unregister(struct gsmd_vendor_plugin *pl); extern int gsmd_vendor_plugin_find(struct gsmd *g); Index: include/gsmd/unsolicited.h =================================================================== --- include/gsmd/unsolicited.h (revision 3656) +++ include/gsmd/unsolicited.h (working copy) @@ -7,14 +7,18 @@ struct gsmd_unsolicit { const char *prefix; - int (*parse)(char *unsol, int len, const char *param, struct gsmd *gsmd); + int (*parse)(const char *unsol, + int len, const char *param, struct gsmd *gsmd); }; -extern int unsolicited_parse(struct gsmd *g, char *buf, int len, const char *param); +extern void unsolicited_init(struct gsmd *g); +extern int unsolicited_parse(struct gsmd *g, + const char *buf, int len, const char *param); extern int generate_event_from_cme(struct gsmd *g, unsigned int cme_error); extern void unsolicited_generic_init(struct gsmd *g); extern int unsolicited_register_array(const struct gsmd_unsolicit *arr, int len); +extern int generate_event_from_cms(struct gsmd *g, unsigned int cms_error); extern const int pintype_from_cme[]; #endif /* __GSMD__ */ Index: include/gsmd/machineplugin.h =================================================================== --- include/gsmd/machineplugin.h (revision 3656) +++ include/gsmd/machineplugin.h (working copy) @@ -10,13 +10,15 @@ struct gsmd; struct gsmd_machine_plugin { struct llist_head list; - unsigned char *name; + char *name; int (*power)(struct gsmd *g, int power); int (*ex_submit)(struct gsmd *g); int (*detect)(struct gsmd *g); int (*init)(struct gsmd *g, int fd); }; +extern int gsmd_machine_plugin_init(struct gsmd *g, + char *machine_name, char *vendor_name); extern int gsmd_machine_plugin_register(struct gsmd_machine_plugin *pl); extern void gsmd_machine_plugin_unregister(struct gsmd_machine_plugin *pl); extern int gsmd_machine_plugin_find(struct gsmd *g); Index: include/gsmd/usock.h =================================================================== --- include/gsmd/usock.h (revision 3656) +++ include/gsmd/usock.h (working copy) @@ -673,6 +673,9 @@ extern int usock_evt_send(struct gsmd *g extern int gsmd_ucmd_submit(struct gsmd_user *gu, u_int8_t msg_type, u_int8_t msg_subtype, u_int16_t id, int len, const void *data); +extern int gsmd_opname_init(struct gsmd *g); +extern int gsmd_opname_add(struct gsmd *g, const char *numeric_bcd_string, + const char *alnum_long); #endif /* __GSMD__ */ #endif Index: src/gsmd/machine_generic.c =================================================================== --- src/gsmd/machine_generic.c (revision 3656) +++ src/gsmd/machine_generic.c (working copy) @@ -41,8 +41,6 @@ static int generic_detect(struct gsmd *g static int generic_init(struct gsmd *g, int fd) { - int rc; - /* * We assume that the GSM chipset can take * input immediately, so we don't have to Index: src/gsmd/machine.c =================================================================== --- src/gsmd/machine.c (revision 3656) +++ src/gsmd/machine.c (working copy) @@ -117,7 +117,7 @@ int gsmd_machine_plugin_init(struct gsmd buf[sizeof(buf)-1] = '\0'; line = strtok(buf, "\n"); - while (line = strtok(NULL, "\n")) { + while ((line = strtok(NULL, "\n"))) { if (strncmp(line, "Hardware\t: ", 11) == 0) { hw = line+11; break; @@ -138,7 +138,7 @@ int gsmd_machine_plugin_init(struct gsmd if (vendor_name) DEBUGP("wanring: auto-detected vendor '%s', " - "but user override to '%s'\m", + "but user override to '%s'\n", machines[i].vendor, vendor_name); else vendor_name = machines[i].vendor; Index: src/gsmd/sms_cb.c =================================================================== --- src/gsmd/sms_cb.c (revision 3656) +++ src/gsmd/sms_cb.c (working copy) @@ -38,6 +38,7 @@ #include <gsmd/usock.h> #include <gsmd/unsolicited.h> #include <gsmd/sms.h> +#include <gsmd/talloc.h> static const char *ts0705_memtype_name[] = { [GSM0705_MEMTYPE_NONE] = "NONE", @@ -402,7 +403,8 @@ int usock_rcv_cb(struct gsmd_user *gu, s } /* Unsolicited messages related to SMS / CB */ -static int cmti_parse(char *buf, int len, const char *param, struct gsmd *gsmd) +static int cmti_parse(const char *buf, int len, const char *param, + struct gsmd *gsmd) { char memstr[3]; struct gsmd_evt_auxdata *aux; @@ -424,7 +426,8 @@ static int cmti_parse(char *buf, int len return usock_evt_send(gsmd, ucmd, GSMD_EVT_IN_SMS); } -static int cmt_parse(char *buf, int len, const char *param, struct gsmd *gsmd) +static int cmt_parse(const char *buf, int len, const char *param, + struct gsmd *gsmd) { /* TODO: TEXT mode */ u_int8_t pdu[SMS_MAX_PDU_SIZE]; @@ -474,7 +477,8 @@ static int cmt_parse(char *buf, int len, return usock_evt_send(gsmd, ucmd, GSMD_EVT_IN_SMS); } -static int cbmi_parse(char *buf, int len, const char *param, struct gsmd *gsmd) +static int cbmi_parse(const char *buf, int len, const char *param, + struct gsmd *gsmd) { char memstr[3]; struct gsmd_evt_auxdata *aux; @@ -496,7 +500,8 @@ static int cbmi_parse(char *buf, int len return usock_evt_send(gsmd, ucmd, GSMD_EVT_IN_CBM); } -static int cbm_parse(char *buf, int len, const char *param, struct gsmd *gsmd) +static int cbm_parse(const char *buf, int len, const char *param, + struct gsmd *gsmd) { /* TODO: TEXT mode */ u_int8_t pdu[CBM_MAX_PDU_SIZE]; @@ -541,7 +546,8 @@ static int cbm_parse(char *buf, int len, return usock_evt_send(gsmd, ucmd, GSMD_EVT_IN_CBM); } -static int cdsi_parse(char *buf, int len, const char *param, struct gsmd *gsmd) +static int cdsi_parse(const char *buf, int len, const char *param, + struct gsmd *gsmd) { char memstr[3]; struct gsmd_evt_auxdata *aux; @@ -563,7 +569,8 @@ static int cdsi_parse(char *buf, int len return usock_evt_send(gsmd, ucmd, GSMD_EVT_IN_DS); } -static int cds_parse(char *buf, int len, const char *param, struct gsmd *gsmd) +static int cds_parse(const char *buf, int len, const char *param, + struct gsmd *gsmd) { /* TODO: TEXT mode */ u_int8_t pdu[SMS_MAX_PDU_SIZE]; Index: src/gsmd/vendor_bcm.c =================================================================== --- src/gsmd/vendor_bcm.c (revision 3656) +++ src/gsmd/vendor_bcm.c (working copy) @@ -35,7 +35,7 @@ #include <gsmd/vendorplugin.h> #include <gsmd/unsolicited.h> -static int mrdy_parse(char *buf, int len, const char *param, +static int mrdy_parse(const char *buf, int len, const char *param, struct gsmd *g) { int status = atoi(param); @@ -70,12 +70,9 @@ static int mrdy_parse(char *buf, int len return 0; } -static int mtsmenu_parse(char *buf, int len, const char *param, +static int mtsmenu_parse(const char *buf, int len, const char *param, struct gsmd *g) { - char *tok, *param_tmp; - struct mtsmenu *mtsmenu; - DEBUGP("mtsmenu_parse param=`%s'\n", param); return 0; } @@ -95,8 +92,7 @@ static int bcm_detect(struct gsmd *g) static int bcm_initsettings(struct gsmd *g) { - int rc; - struct gsmd_atcmd *cmd; + int rc = 0; /* bcm sometimes sends LFCR instead of CRLF (eg *MTSMENU message) */ g->llp.flags |= LGSM_ATCMD_F_LFCR; Index: src/gsmd/ext_response.c =================================================================== --- src/gsmd/ext_response.c (revision 3656) +++ src/gsmd/ext_response.c (working copy) @@ -67,7 +67,6 @@ struct gsm_extrsp *extrsp_parse(const vo { const char *cur = input; struct gsm_extrsp *er; - int cur_tok = 0; enum parser_state state = IDLE; char buf[512]; char *cur_buf = buf; @@ -205,7 +204,8 @@ void extrsp_dump(const struct gsm_extrsp DEBUGP("%d-%d, ", tok->u.range.item[j].min, tok->u.range.item[j].max); } - + break; + default: break; } } Index: src/gsmd/vendor_qc.c =================================================================== --- src/gsmd/vendor_qc.c (revision 3656) +++ src/gsmd/vendor_qc.c (working copy) @@ -36,10 +36,9 @@ #include <gsmd/vendorplugin.h> #include <gsmd/unsolicited.h> -static int htccsq_parse(char *buf, int len, const char *param, +static int htccsq_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { - char *tok; struct gsmd_evt_auxdata *aux; struct gsmd_ucmd *ucmd = usock_build_event(GSMD_MSG_EVENT, GSMD_EVT_SIGNAL, sizeof(*aux)); @@ -63,13 +62,14 @@ static int htccsq_parse(char *buf, int l usock_evt_send(gsmd, ucmd, GSMD_EVT_SIGNAL); return 0; - +#if 0 out_free_io: free(ucmd); return -EIO; +#endif } -static int wcdma_parse(char *buf, int len, const char *param, +static int wcdma_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { return 0; @@ -96,8 +96,7 @@ static int qc_detect(struct gsmd *g) static int qc_initsettings(struct gsmd *g) { - int rc; - struct gsmd_atcmd *cmd; + int rc = 0; /* enable @HTCCSQ: signal quality reports */ rc |= gsmd_simplecmd(g, "[EMAIL PROTECTED]"); Index: src/gsmd/timer.c =================================================================== --- src/gsmd/timer.c (revision 3656) +++ src/gsmd/timer.c (working copy) @@ -37,11 +37,13 @@ static LLIST_HEAD(gsmd_timers); static void *__tmr_ctx; +#if 0 static void tv_normalize(struct timeval *out) { out->tv_sec += (out->tv_usec / 1000000); out->tv_usec = (out->tv_usec % 1000000); } +#endif /* subtract two struct timevals */ static int tv_sub(struct timeval *res, const struct timeval *from, @@ -58,6 +60,7 @@ static int tv_sub(struct timeval *res, c return 0; } +#if 0 static int tv_add(struct timeval *res, const struct timeval *a1, const struct timeval *a2) { @@ -68,6 +71,7 @@ static int tv_add(struct timeval *res, c tv_normalize(res); } +#endif static int tv_later(const struct timeval *expires, const struct timeval *now) { Index: src/gsmd/unsolicited.c =================================================================== --- src/gsmd/unsolicited.c (revision 3656) +++ src/gsmd/unsolicited.c (working copy) @@ -35,6 +35,7 @@ #include <gsmd/ts0707.h> #include <gsmd/unsolicited.h> #include <gsmd/talloc.h> +#include <gsmd/sms.h> struct gsmd_ucmd *usock_build_event(u_int8_t type, u_int8_t subtype, u_int16_t len) { @@ -147,7 +148,7 @@ static void state_ringing_update(struct &state_ringing_timeout, gsmd); } -static int ring_parse(char *buf, int len, const char *param, +static int ring_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { struct gsmd_ucmd *ucmd; @@ -167,7 +168,7 @@ static int ring_parse(char *buf, int len return usock_evt_send(gsmd, ucmd, GSMD_EVT_IN_CALL); } -static int cring_parse(char *buf, int len, const char *param, struct gsmd *gsmd) +static int cring_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { struct gsmd_ucmd *ucmd = usock_build_event(GSMD_MSG_EVENT, GSMD_EVT_IN_CALL, sizeof(struct gsmd_evt_auxdata)); @@ -201,7 +202,7 @@ static int cring_parse(char *buf, int le } /* Chapter 7.2, network registration */ -static int creg_parse(char *buf, int len, const char *param, +static int creg_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { const char *comma = strchr(param, ','); @@ -250,7 +251,7 @@ static int creg_parse(char *buf, int len } /* Chapter 7.11, call waiting */ -static int ccwa_parse(char *buf, int len, const char *param, +static int ccwa_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { const char *token; @@ -266,7 +267,7 @@ static int ccwa_parse(char *buf, int len memset(gaddr, 0, sizeof(*gaddr)); /* parse address (phone number) */ - token = strtok(buf, ","); + token = strtok((char *) buf, ","); if (!token) return -EINVAL; strncpy(gaddr->number, token, GSMD_ADDR_MAXLEN); @@ -285,7 +286,7 @@ static int ccwa_parse(char *buf, int len } /* Chapter 7.14, unstructured supplementary service data */ -static int cusd_parse(char *buf, int len, const char *param, +static int cusd_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { /* FIXME: parse */ @@ -293,7 +294,7 @@ static int cusd_parse(char *buf, int len } /* Chapter 7.15, advise of charge */ -static int cccm_parse(char *buf, int len, const char *param, +static int cccm_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { /* FIXME: parse */ @@ -301,7 +302,7 @@ static int cccm_parse(char *buf, int len } /* Chapter 10.1.13, GPRS event reporting */ -static int cgev_parse(char *buf, int len, const char *param, +static int cgev_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { /* FIXME: parse */ @@ -309,7 +310,7 @@ static int cgev_parse(char *buf, int len } /* Chapter 10.1.14, GPRS network registration status */ -static int cgreg_parse(char *buf, int len, const char *param, +static int cgreg_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { /* FIXME: parse */ @@ -317,7 +318,7 @@ static int cgreg_parse(char *buf, int le } /* Chapter 7.6, calling line identification presentation */ -static int clip_parse(char *buf, int len, const char *param, +static int clip_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { struct gsmd_ucmd *ucmd = usock_build_event(GSMD_MSG_EVENT, GSMD_EVT_IN_CLIP, @@ -345,7 +346,7 @@ static int clip_parse(char *buf, int len } /* Chapter 7.9, calling line identification presentation */ -static int colp_parse(char *buf, int len, const char *param, +static int colp_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { struct gsmd_ucmd *ucmd = usock_build_event(GSMD_MSG_EVENT, GSMD_EVT_OUT_COLP, @@ -371,7 +372,7 @@ static int colp_parse(char *buf, int len return usock_evt_send(gsmd, ucmd, GSMD_EVT_OUT_COLP); } -static int ctzv_parse(char *buf, int len, const char *param, +static int ctzv_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { struct gsmd_ucmd *ucmd = usock_build_event(GSMD_MSG_EVENT, GSMD_EVT_TIMEZONE, @@ -395,7 +396,7 @@ static int ctzv_parse(char *buf, int len return usock_evt_send(gsmd, ucmd, GSMD_EVT_TIMEZONE); } -static int copn_parse(char *buf, int len, const char *param, +static int copn_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { struct gsm_extrsp *er = extrsp_parse(gsmd_tallocs, param); @@ -444,11 +445,10 @@ static const struct gsmd_unsolicit gsm07 static struct gsmd_unsolicit unsolicit[256] = {{ 0, 0 }}; /* called by midlevel parser if a response seems unsolicited */ -int unsolicited_parse(struct gsmd *g, char *buf, int len, const char *param) +int unsolicited_parse(struct gsmd *g, const char *buf, int len, const char *param) { struct gsmd_unsolicit *i; int rc; - struct gsmd_vendor_plugin *vpl = g->vendorpl; /* call unsolicited code parser */ for (i = unsolicit; i->prefix; i ++) { Index: src/gsmd/usock.c =================================================================== --- src/gsmd/usock.c (revision 3656) +++ src/gsmd/usock.c (working copy) @@ -43,7 +43,7 @@ #include <gsmd/ts0707.h> #include <gsmd/sms.h> -static void *__ucmd_ctx, *__gu_ctx, *__pb_ctx; +static void *__ucmd_ctx, *__gu_ctx; struct gsmd_ucmd *ucmd_alloc(int extra_size) { @@ -112,6 +112,7 @@ static int usock_rcv_event(struct gsmd_u return -EINVAL; gu->subscriptions = *evtmask; + return 0; } static int voicecall_get_stat_cb(struct gsmd_atcmd *cmd, void *ctx, char *resp) @@ -464,9 +465,9 @@ static int usock_rcv_modem(struct gsmd_u static int network_vmail_cb(struct gsmd_atcmd *cmd, void *ctx, char *resp) { struct gsmd_user *gu = ctx; - struct gsmd_voicemail *vmail; + struct gsmd_voicemail *vmail = (struct gsmd_voicemail *) + malloc(sizeof(struct gsmd_voicemail)); struct gsmd_ucmd *ucmd; - char *comma; DEBUGP("entering(cmd=%p, gu=%p)\n", cmd, gu); @@ -506,7 +507,7 @@ static int network_vmail_cb(struct gsmd_ } usock_cmd_enqueue(ucmd, gu); - + free(vmail); return 0; out_free_einval: @@ -736,7 +737,6 @@ static int usock_rcv_network(struct gsmd int len) { struct gsmd_atcmd *cmd; - struct gsmd_voicemail *vmail = (struct gsmd_voicemail *) gph->data; gsmd_oper_numeric *oper = (gsmd_oper_numeric *) gph->data; char buffer[15 + sizeof(gsmd_oper_numeric)]; int cmdlen; @@ -745,7 +745,7 @@ static int usock_rcv_network(struct gsmd case GSMD_NETWORK_REGISTER: if ((*oper)[0]) cmdlen = sprintf(buffer, "AT+COPS=1,2,\"%.*s\"", - sizeof(gsmd_oper_numeric), oper); + sizeof(gsmd_oper_numeric), *oper); else cmdlen = sprintf(buffer, "AT+COPS=0"); cmd = atcmd_fill(buffer, cmdlen + 1, &null_cmd_cb, gu, 0, NULL); @@ -784,7 +784,7 @@ static int usock_rcv_network(struct gsmd break; case GSMD_NETWORK_PREF_ADD: cmdlen = sprintf(buffer, "AT+CPOL=,2,\"%.*s\"", - sizeof(gsmd_oper_numeric), oper); + sizeof(gsmd_oper_numeric), *oper); cmd = atcmd_fill(buffer, cmdlen + 1, &null_cmd_cb, gu, 0, NULL); break; case GSMD_NETWORK_PREF_SPACE: @@ -1021,7 +1021,7 @@ static int phonebook_list_storage_cb(str char* delim = "(,"; ptr = strpbrk(resp, delim); while (ptr) { - strncpy(gps.mem[gps.num].type, ptr + 2, 2); + strncpy((char *) gps.mem[gps.num].type, ptr + 2, 2); gps.mem[gps.num].type[2] = '\0'; ptr = strpbrk(ptr + 2, delim); gps.num++; @@ -1041,9 +1041,8 @@ static int usock_rcv_phonebook(struct gs struct gsmd_phonebook_readrg *gpr; struct gsmd_phonebook *gp; struct gsmd_phonebook_find *gpf; - struct gsmd_phonebooks *cur, *cur2; - int *index, *num; - int atcmd_len, i, ret; + int *index; + int atcmd_len; char *storage; char buf[1024]; Index: src/gsmd/atcmd.c =================================================================== --- src/gsmd/atcmd.c (revision 3656) +++ src/gsmd/atcmd.c (working copy) @@ -49,12 +49,14 @@ enum final_result_codes { NUM_FINAL_RESULTS, }; +#if 0 static const char *final_results[] = { "OK", "ERROR", "+CME ERROR:", "+CMS ERROR:", }; +#endif /* we basically implement a parse that can deal with * - receiving and queueing commands from higher level of libgmsd @@ -188,8 +190,8 @@ static int llparse_init(struct llparser return 0; } +#if 0 /* mid-level parser */ - static int parse_final_result(const char *res) { int i; @@ -200,6 +202,7 @@ static int parse_final_result(const char return -1; } +#endif void atcmd_wake_pending_queue (struct gsmd *g) { @@ -224,10 +227,10 @@ static int atcmd_done(struct gsmd *g, st /* send final result code if there is no information * response in mlbuf */ if (g->mlbuf_len) { - cmd->resp = g->mlbuf; + cmd->resp = (char *) g->mlbuf; g->mlbuf[g->mlbuf_len] = 0; } else { - cmd->resp = buf; + cmd->resp = (char *) buf; } rc = cmd->cb(cmd, cmd->ctx, cmd->resp); DEBUGP("Clearing mlbuf\n"); @@ -367,7 +370,7 @@ static int ml_parse(const char *buf, int gsmd_log(GSMD_NOTICE, "command without cb!!!\n"); } else { DEBUGP("Calling cmd->cb()\n"); - cmd->resp = g->mlbuf; + cmd->resp = (char *) g->mlbuf; rc = cmd->cb(cmd, cmd->ctx, cmd->resp); DEBUGP("Clearing mlbuf\n"); memset(g->mlbuf, 0, MLPARSE_BUF_SIZE); @@ -429,8 +432,9 @@ static int ml_parse(const char *buf, int g->mlbuf_len += len; if (g->mlunsolicited) { - rc = unsolicited_parse(g, g->mlbuf, g->mlbuf_len, - strchr(g->mlbuf, ':') + 1); + rc = unsolicited_parse(g, (const char *) g->mlbuf, + (int) g->mlbuf_len, + strchr((const char *)g->mlbuf, ':') + 1); if (rc == -EAGAIN) { /* The parser wants one more line of * input. Wait for the next line, concatenate @@ -464,6 +468,7 @@ static int atcmd_prompt(void *data) struct gsmd *g = data; atcmd_wake_pending_queue(g); + return 0; } /* callback to be called if [virtual] UART has some data for us */ @@ -642,8 +647,6 @@ static int remove_timer(struct gsmd_atcm /* submit an atcmd in the global queue of pending atcmds */ int atcmd_submit(struct gsmd *g, struct gsmd_atcmd *cmd) { - int empty; - if (g->machinepl->ex_submit) { DEBUGP("extra-submiting command\n"); g->machinepl->ex_submit(g); Index: src/gsmd/vendor_tihtc.c =================================================================== --- src/gsmd/vendor_tihtc.c (revision 3656) +++ src/gsmd/vendor_tihtc.c (working copy) @@ -52,10 +52,9 @@ int gsmd_simplecmd(struct gsmd *gsmd, ch return atcmd_submit(gsmd, cmd); } -static int htccsq_parse(char *buf, int len, const char *param, +static int htccsq_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { - char *tok; struct gsmd_evt_auxdata *aux; struct gsmd_ucmd *ucmd = usock_build_event(GSMD_MSG_EVENT, GSMD_EVT_SIGNAL, sizeof(*aux)); @@ -79,17 +78,19 @@ static int htccsq_parse(char *buf, int l usock_evt_send(gsmd, ucmd, GSMD_EVT_SIGNAL); return 0; - +#if 0 out_free_io: free(ucmd); return -EIO; +#endif } -static int cpri_parse(char *buf, int len, const char *param, struct gsmd *gsmd) +static int cpri_parse(const char *buf, int len, const char *param, + struct gsmd *gsmd) { char *tok1, *tok2; - tok1 = strtok(buf, ","); + tok1 = strtok((char *) buf, ","); if (!tok1) return -EIO; @@ -126,7 +127,7 @@ static int cpri_parse(char *buf, int len } /* Call Progress Information */ -static int cpi_parse(char *buf, int len, const char *param, struct gsmd *gsmd) +static int cpi_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { char *tok; struct gsmd_evt_auxdata *aux; @@ -143,7 +144,7 @@ static int cpi_parse(char *buf, int len, /* Format: cId, msgType, ibt, tch, dir,[mode],[number],[type],[alpha],[cause],line */ /* call ID */ - tok = strtok(buf, ","); + tok = strtok((char *) buf, ","); if (!tok) goto out_free_io; @@ -248,7 +249,7 @@ static int tihtc_detect(struct gsmd *g) static int tihtc_initsettings(struct gsmd *g) { - int rc; + int rc = 0; struct gsmd_atcmd *cmd; /* use %CGREG */ Index: src/gsmd/vendor_ti.c =================================================================== --- src/gsmd/vendor_ti.c (revision 3656) +++ src/gsmd/vendor_ti.c (working copy) @@ -38,7 +38,7 @@ #include <gsmd/unsolicited.h> -static int csq_parse(char *buf, int len, const char *param, +static int csq_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { struct gsmd_evt_auxdata *aux; @@ -63,11 +63,11 @@ out_free_io: return -EIO; } -static int cpri_parse(char *buf, int len, const char *param, struct gsmd *gsmd) +static int cpri_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { char *tok1, *tok2; - tok1 = strtok(buf, ","); + tok1 = strtok((char *) buf, ","); if (!tok1) return -EIO; @@ -103,7 +103,7 @@ static int cpri_parse(char *buf, int len return 0; } -static int ctzv_parse(char *buf, int len, const char *param, struct gsmd *gsmd) +static int ctzv_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { /* FIXME: decide what to do with it. send as event to clients? or keep * locally? Offer option to sync system RTC? */ @@ -111,7 +111,7 @@ static int ctzv_parse(char *buf, int len } /* Call Progress Information */ -static int cpi_parse(char *buf, int len, const char *param, struct gsmd *gsmd) +static int cpi_parse(const char *buf, int len, const char *param, struct gsmd *gsmd) { char *tok; struct gsmd_evt_auxdata *aux; @@ -128,7 +128,7 @@ static int cpi_parse(char *buf, int len, /* Format: cId, msgType, ibt, tch, dir,[mode],[number],[type],[alpha],[cause],line */ /* call ID */ - tok = strtok(buf, ","); + tok = strtok((char *) buf, ","); if (!tok) goto out_free_io; Index: src/gsmd/gsmd.c =================================================================== --- src/gsmd/gsmd.c (revision 3656) +++ src/gsmd/gsmd.c (working copy) @@ -44,6 +44,8 @@ #include <gsmd/usock.h> #include <gsmd/vendorplugin.h> #include <gsmd/talloc.h> +#include <gsmd/sms.h> +#include <gsmd/unsolicited.h> #define GSMD_ALIVECMD "AT" #define GSMD_ALIVE_INTERVAL 5*60 @@ -157,7 +159,7 @@ int gsmd_simplecmd(struct gsmd *gsmd, ch static int gsmd_initsettings2(struct gsmd *gsmd) { - int rc; + int rc = 0; /* echo on, verbose */ rc |= gsmd_simplecmd(gsmd, "ATE0V1"); @@ -213,6 +215,7 @@ static int firstcmd_atcb(struct gsmd_atc return gsmd_initsettings2(gsmd); } +#if 0 static void firstcmd_tmr_cb(struct gsmd_timer *tmr, void *data) { if (firstcmd_response == 0) { @@ -221,11 +224,11 @@ static void firstcmd_tmr_cb(struct gsmd_ } gsmd_timer_free(tmr); } +#endif int gsmd_initsettings(struct gsmd *gsmd) { struct gsmd_atcmd *cmd; - struct timeval tv; cmd = atcmd_fill("ATZ", strlen("ATZ")+1, &firstcmd_atcb, gsmd, 0, NULL); if (!cmd) @@ -364,7 +367,6 @@ int main(int argc, char **argv) int bps = 115200; int hwflow = 0; char *device = NULL; - char *logfile = "syslog"; char *vendor_name = NULL; char *machine_name = NULL; int wait = -1; @@ -473,7 +475,7 @@ int main(int argc, char **argv) exit(1); } - write(fd,'\r',1); + write(fd, "\r", 1); atcmd_drain(fd); if (usock_init(&g) < 0) { Index: src/util/event.c =================================================================== --- src/util/event.c (revision 3656) +++ src/util/event.c (working copy) @@ -115,7 +115,7 @@ static int incbm_handler(struct lgsm_han msg->page, msg->pages); if (msg->coding_scheme == ALPHABET_DEFAULT) { - cbm_unpacking_7bit_character(msg->data, payload); + cbm_unpacking_7bit_character((char *)msg->data, payload); printf("\"%s\"\n", payload); } else if (msg->coding_scheme == ALPHABET_8BIT) printf("8-bit encoded data\n"); @@ -176,6 +176,8 @@ static int netreg_handler(struct lgsm_ha case GSMD_NETREG_REG_ROAMING: printf("registered (roaming) "); break; + default: + break; } if (aux->u.netreg.lac) Index: src/util/pin.c =================================================================== --- src/util/pin.c (revision 3656) +++ src/util/pin.c (working copy) @@ -52,7 +52,7 @@ static int pin_handler(struct lgsm_handl } else { do { printf("Please enter %s: ", lgsm_pin_name(type)); - rc = fscanf(stdin, "%8s", &pinbuf); + rc = fscanf(stdin, "%8s", pinbuf); } while (rc < 1); switch (type) { @@ -60,7 +60,7 @@ static int pin_handler(struct lgsm_handl case GSMD_PIN_SIM_PUK2: do { printf("Please enter new PIN: "); - rc = fscanf(stdin, "%8s", &pinbuf2); + rc = fscanf(stdin, "%8s", pinbuf2); newpin = pinbuf2; } while (rc < 1); break; Index: src/util/shell.c =================================================================== --- src/util/shell.c (revision 3656) +++ src/util/shell.c (working copy) @@ -31,6 +31,7 @@ #include <libgsmd/misc.h> #include <libgsmd/phonebook.h> #include <libgsmd/sms.h> +#include <libgsmd/pin.h> #include <gsmd/usock.h> #include <gsmd/ts0705.h> @@ -49,6 +50,7 @@ static int pt_msghandler(struct lgsm_han { char *payload = (char *)gmh + sizeof(*gmh); printf("RSTR=`%s'\n", payload); + return 0; } /* this is the handler for receiving phonebook responses */ @@ -135,7 +137,8 @@ static int pb_msghandler(struct lgsm_han break; default: return -EINVAL; - } + } + return 0; } /* this is the handler for receiving sms responses */ @@ -273,6 +276,7 @@ static int sms_msghandler(struct lgsm_ha pending_responses --; return -EINVAL; } + return 0; } /* this is the handler for responses to network/operator commands */ @@ -344,6 +348,7 @@ static int net_msghandler(struct lgsm_ha default: return -EINVAL; } + return 0; } static int phone_msghandler(struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh) @@ -441,7 +446,7 @@ static const struct msghandler_s { { 0, 0 } }; -static int shell_help(void) +static void shell_help(void) { printf( "\tA\tAnswer incoming call\n" "\tD\tDial outgoing number\n" @@ -487,8 +492,6 @@ int shell_main(struct lgsm_handle *lgsmh { int rc; char buf[STDIN_BUF_SIZE+1]; - char rbuf[STDIN_BUF_SIZE+1]; - int rlen = sizeof(rbuf); fd_set readset; char *ptr, *fcomma, *lcomma; int gsm_fd = lgsm_fd(lgsmh); @@ -780,4 +783,5 @@ int shell_main(struct lgsm_handle *lgsmh } fflush(stdout); } + return 0; } Index: src/util/atcmd.c =================================================================== --- src/util/atcmd.c (revision 3656) +++ src/util/atcmd.c (working copy) @@ -35,6 +35,7 @@ static int pt_msghandler(struct lgsm_han { char *payload = (char *)gmh + sizeof(*gmh); printf("RSTR=`%s'\n", payload); + return 0; } int atcmd_main(struct lgsm_handle *lgsmh) @@ -42,7 +43,7 @@ int atcmd_main(struct lgsm_handle *lgsmh int rc; char buf[STDIN_BUF_SIZE+1]; char rbuf[STDIN_BUF_SIZE+1]; - int rlen = sizeof(rbuf); + unsigned int rlen = sizeof(rbuf); fd_set readset; lgsm_register_handler(lgsmh, GSMD_MSG_PASSTHROUGH, &pt_msghandler); @@ -99,4 +100,5 @@ int atcmd_main(struct lgsm_handle *lgsmh fflush(stdout); } } + return 0; }