48 lines
1.5 KiB
Diff
48 lines
1.5 KiB
Diff
---
|
|
src/at_interpreter.c | 10 +++++++++-
|
|
1 file changed, 9 insertions(+), 1 deletion(-)
|
|
|
|
Index: spandsp-3.0.0.g15/src/at_interpreter.c
|
|
===================================================================
|
|
--- spandsp-3.0.0.g15.orig/src/at_interpreter.c
|
|
+++ spandsp-3.0.0.g15/src/at_interpreter.c
|
|
@@ -921,6 +921,7 @@ static const char *at_cmd_A(at_state_t *
|
|
|
|
static const char *at_cmd_D(at_state_t *s, const char *t)
|
|
{
|
|
+ int first = true;
|
|
char *u;
|
|
char num[100 + 1];
|
|
char ch;
|
|
@@ -940,6 +941,7 @@ static const char *at_cmd_D(at_state_t *
|
|
{
|
|
/* V.250 6.3.1.1 Basic digit set */
|
|
*u++ = ch;
|
|
+ first = false;
|
|
}
|
|
else
|
|
{
|
|
@@ -953,7 +955,10 @@ static const char *at_cmd_D(at_state_t *
|
|
case '#':
|
|
/* V.250 6.3.1.1 Full DTMF repertoire */
|
|
if (!s->p.pulse_dial)
|
|
+ {
|
|
*u++ = ch;
|
|
+ first = false;
|
|
+ }
|
|
break;
|
|
case ' ':
|
|
case '-':
|
|
@@ -963,7 +968,10 @@ static const char *at_cmd_D(at_state_t *
|
|
break;
|
|
case '+':
|
|
/* V.250 6.3.1.1 International access code */
|
|
- /* TODO: */
|
|
+ /* Allow + as first symbol in a dial string. */
|
|
+ if (first)
|
|
+ *u++ = ch;
|
|
+ first = false;
|
|
break;
|
|
case ',':
|
|
/* V.250 6.3.1.2 Pause */
|