diff options
Diffstat (limited to 'meta-extras/packages/openmoko/libgsmd/extreplychars.patch')
| -rw-r--r-- | meta-extras/packages/openmoko/libgsmd/extreplychars.patch | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/meta-extras/packages/openmoko/libgsmd/extreplychars.patch b/meta-extras/packages/openmoko/libgsmd/extreplychars.patch new file mode 100644 index 0000000000..8ebc343e27 --- /dev/null +++ b/meta-extras/packages/openmoko/libgsmd/extreplychars.patch | |||
| @@ -0,0 +1,70 @@ | |||
| 1 | Index: gsm/src/gsmd/atcmd.c | ||
| 2 | =================================================================== | ||
| 3 | --- gsm.orig/src/gsmd/atcmd.c 2007-06-03 10:46:19.000000000 +0200 | ||
| 4 | +++ gsm/src/gsmd/atcmd.c 2007-06-03 15:54:53.000000000 +0200 | ||
| 5 | @@ -208,7 +208,7 @@ | ||
| 6 | * TBD | ||
| 7 | */ | ||
| 8 | |||
| 9 | - if (buf[0] == '+' || buf[0] == '%') { | ||
| 10 | + if (buf[0] == '+' || strchr(g->vendorpl->ext_chars, buf[0])) { | ||
| 11 | /* an extended response */ | ||
| 12 | const char *colon = strchr(buf, ':'); | ||
| 13 | if (!colon) { | ||
| 14 | @@ -255,7 +255,7 @@ | ||
| 15 | } | ||
| 16 | |||
| 17 | if (cmd) { | ||
| 18 | - if (cmd->buf[2] != '+' && cmd->buf[2] != '%') { | ||
| 19 | + if (cmd->buf[2] != '+' && strchr(g->vendorpl->ext_chars, cmd->buf[2]) == NULL) { | ||
| 20 | gsmd_log(GSMD_ERROR, "extd reply to non-extd command?\n"); | ||
| 21 | return -EINVAL; | ||
| 22 | } | ||
| 23 | Index: gsm/src/gsmd/vendor_qc.c | ||
| 24 | =================================================================== | ||
| 25 | --- gsm.orig/src/gsmd/vendor_qc.c 2007-06-03 10:46:19.000000000 +0200 | ||
| 26 | +++ gsm/src/gsmd/vendor_qc.c 2007-06-03 11:45:58.000000000 +0200 | ||
| 27 | @@ -97,6 +97,7 @@ | ||
| 28 | |||
| 29 | struct gsmd_vendor_plugin gsmd_vendor_plugin = { | ||
| 30 | .name = "Qualcomm msm6250", | ||
| 31 | + .ext_chars = "@", | ||
| 32 | .num_unsolicit = ARRAY_SIZE(qc_unsolicit), | ||
| 33 | .unsolicit = qc_unsolicit, | ||
| 34 | .detect = &qc_detect, | ||
| 35 | Index: gsm/src/gsmd/vendor_ti.c | ||
| 36 | =================================================================== | ||
| 37 | --- gsm.orig/src/gsmd/vendor_ti.c 2007-06-03 10:46:19.000000000 +0200 | ||
| 38 | +++ gsm/src/gsmd/vendor_ti.c 2007-06-03 11:45:58.000000000 +0200 | ||
| 39 | @@ -303,6 +303,7 @@ | ||
| 40 | |||
| 41 | struct gsmd_vendor_plugin gsmd_vendor_plugin = { | ||
| 42 | .name = "TI Calypso", | ||
| 43 | + .ext_chars = "%@", | ||
| 44 | .num_unsolicit = ARRAY_SIZE(ticalypso_unsolicit), | ||
| 45 | .unsolicit = ticalypso_unsolicit, | ||
| 46 | .detect = &ticalypso_detect, | ||
| 47 | Index: gsm/include/gsmd/vendorplugin.h | ||
| 48 | =================================================================== | ||
| 49 | --- gsm.orig/include/gsmd/vendorplugin.h 2007-02-16 15:12:40.000000000 +0100 | ||
| 50 | +++ gsm/include/gsmd/vendorplugin.h 2007-06-03 11:45:58.000000000 +0200 | ||
| 51 | @@ -12,6 +12,7 @@ | ||
| 52 | struct gsmd_vendor_plugin { | ||
| 53 | struct llist_head list; | ||
| 54 | unsigned char *name; | ||
| 55 | + unsigned char *ext_chars; | ||
| 56 | unsigned int num_unsolicit; | ||
| 57 | const struct gsmd_unsolicit *unsolicit; | ||
| 58 | int (*detect)(struct gsmd *g); | ||
| 59 | Index: gsm/src/gsmd/vendor_tihtc.c | ||
| 60 | =================================================================== | ||
| 61 | --- gsm.orig/src/gsmd/vendor_tihtc.c 2007-06-03 15:55:31.000000000 +0200 | ||
| 62 | +++ gsm/src/gsmd/vendor_tihtc.c 2007-06-03 15:55:43.000000000 +0200 | ||
| 63 | @@ -298,6 +298,7 @@ | ||
| 64 | |||
| 65 | struct gsmd_vendor_plugin gsmd_vendor_plugin = { | ||
| 66 | .name = "TI Calypso / HTC firmware", | ||
| 67 | + .ext_chars = "%", | ||
| 68 | .num_unsolicit = ARRAY_SIZE(tihtc_unsolicit), | ||
| 69 | .unsolicit = tihtc_unsolicit, | ||
| 70 | .detect = &tihtc_detect, | ||
