spandsp/spandsp-handle-international-dialstring-prefix.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 */