Hopefully reporting the correct phone number when listing messages
This commit is contained in:
parent
9f1e2d9ca7
commit
d362a87362
14
src/gsm.c
14
src/gsm.c
@ -76,6 +76,9 @@ struct _GSM
|
|||||||
char * wr_buf;
|
char * wr_buf;
|
||||||
size_t wr_buf_cnt;
|
size_t wr_buf_cnt;
|
||||||
guint wr_source;
|
guint wr_source;
|
||||||
|
|
||||||
|
/* temporary buffers */
|
||||||
|
char number[32];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -1277,11 +1280,13 @@ static int _gsm_trigger_cmgr(GSM * gsm, char const * result)
|
|||||||
/* FIXME report which mailbox contains the message? */
|
/* FIXME report which mailbox contains the message? */
|
||||||
/* text mode support */
|
/* text mode support */
|
||||||
if(sscanf(result, "\"%31[^\"]\",\"%31[^\"]\",,\"%31[^\"]\"", buf,
|
if(sscanf(result, "\"%31[^\"]\",\"%31[^\"]\",,\"%31[^\"]\"", buf,
|
||||||
buf, date) == 3) /* FIXME really implement */
|
gsm->number, date) == 3) /* XXX improve */
|
||||||
{
|
{
|
||||||
gsm->event.message.number = NULL;
|
gsm->number[sizeof(gsm->number) - 1] = '\0';
|
||||||
|
gsm->event.message.number = gsm->number;
|
||||||
date[sizeof(date) - 1] = '\0';
|
date[sizeof(date) - 1] = '\0';
|
||||||
if(strptime(date, "%y/%m/%d,%T", &t) == NULL) /* XXX timezone */
|
if(strptime(date, "%y/%m/%d,%H:%M:%S", &t) == NULL)
|
||||||
|
/* XXX also parse the timezone? */
|
||||||
localtime_r(NULL, &t);
|
localtime_r(NULL, &t);
|
||||||
gsm->event.message.date = mktime(&t);
|
gsm->event.message.date = mktime(&t);
|
||||||
*length = 0;
|
*length = 0;
|
||||||
@ -1293,7 +1298,10 @@ static int _gsm_trigger_cmgr(GSM * gsm, char const * result)
|
|||||||
return 0;
|
return 0;
|
||||||
/* message content */
|
/* message content */
|
||||||
if(*length == 0) /* XXX assumes this is text mode */
|
if(*length == 0) /* XXX assumes this is text mode */
|
||||||
|
{
|
||||||
gsm->event.message.content = result;
|
gsm->event.message.content = result;
|
||||||
|
*length = strlen(result);
|
||||||
|
}
|
||||||
else /* FIXME actually parse the PDU */
|
else /* FIXME actually parse the PDU */
|
||||||
gsm->event.message.content = result;
|
gsm->event.message.content = result;
|
||||||
return _gsm_event_send(gsm, GSM_EVENT_TYPE_MESSAGE);
|
return _gsm_event_send(gsm, GSM_EVENT_TYPE_MESSAGE);
|
||||||
|
Loading…
Reference in New Issue
Block a user