Always report an error upon +CME ERROR
This commit is contained in:
parent
983eb1c371
commit
1c9304df2b
13
src/gsm.c
13
src/gsm.c
@ -1005,12 +1005,14 @@ static int _gsm_trigger_cme_error(GSM * gsm, char const * result,
|
|||||||
int code;
|
int code;
|
||||||
char * p;
|
char * p;
|
||||||
size_t i;
|
size_t i;
|
||||||
GSMError error = GSM_ERROR_UNKNOWN;
|
GSMError type = GSM_ERROR_UNKNOWN;
|
||||||
|
char const * error;
|
||||||
GSMCommand * gsmc;
|
GSMCommand * gsmc;
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
fprintf(stderr, "DEBUG: %s(\"%s\")\n", __func__, result);
|
fprintf(stderr, "DEBUG: %s(\"%s\")\n", __func__, result);
|
||||||
#endif
|
#endif
|
||||||
|
error = _("Unknown error");
|
||||||
if(answered != NULL)
|
if(answered != NULL)
|
||||||
*answered = TRUE;
|
*answered = TRUE;
|
||||||
code = strtol(result, &p, 10);
|
code = strtol(result, &p, 10);
|
||||||
@ -1019,12 +1021,11 @@ static int _gsm_trigger_cme_error(GSM * gsm, char const * result,
|
|||||||
for(i = 0; _gsm_cme_errors[i].error != NULL; i++)
|
for(i = 0; _gsm_cme_errors[i].error != NULL; i++)
|
||||||
if(_gsm_cme_errors[i].code == code)
|
if(_gsm_cme_errors[i].code == code)
|
||||||
break;
|
break;
|
||||||
if(_gsm_cme_errors[i].error == NULL)
|
if(_gsm_cme_errors[i].error != NULL)
|
||||||
return 1; /* XXX report an error anyway? */
|
error = _(_gsm_cme_errors[i].error);
|
||||||
if(gsm->queue != NULL && (gsmc = gsm->queue->data) != NULL)
|
if(gsm->queue != NULL && (gsmc = gsm->queue->data) != NULL)
|
||||||
error = gsm_command_get_error(gsmc);
|
type = gsm_command_get_error(gsmc);
|
||||||
return gsm_event(gsm, GSM_EVENT_TYPE_ERROR, error,
|
return gsm_event(gsm, GSM_EVENT_TYPE_ERROR, type, error);
|
||||||
_(_gsm_cme_errors[i].error));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user