summaryrefslogtreecommitdiffstats
path: root/meta/packages/libgsmd/files/024_sms-text-in-bracket.patch
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openedhand.com>2007-11-09 16:45:34 +0000
committerMarcin Juszkiewicz <hrw@openedhand.com>2007-11-09 16:45:34 +0000
commit41cab4000bf05c8ac575776b43ac20ac31d86004 (patch)
tree9ca1ab4a3cbf9bb5d4026d78c5d368df6c128d51 /meta/packages/libgsmd/files/024_sms-text-in-bracket.patch
parentd0415cdbf614697693046c24713dd5881d190045 (diff)
downloadpoky-41cab4000bf05c8ac575776b43ac20ac31d86004.tar.gz
libgsmd: update to version from OE (openmoko used one)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3109 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/libgsmd/files/024_sms-text-in-bracket.patch')
-rw-r--r--meta/packages/libgsmd/files/024_sms-text-in-bracket.patch70
1 files changed, 70 insertions, 0 deletions
diff --git a/meta/packages/libgsmd/files/024_sms-text-in-bracket.patch b/meta/packages/libgsmd/files/024_sms-text-in-bracket.patch
new file mode 100644
index 0000000000..32a1ca33ff
--- /dev/null
+++ b/meta/packages/libgsmd/files/024_sms-text-in-bracket.patch
@@ -0,0 +1,70 @@
1http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=834
2
3From: Kristian Mueller <kristian@mput.de>
4Subject: [PATCH] libgsmd-tool does not allow sms with more than one word
5
6libgsmd-tool only allows for command strings without spaces.
7SMS messages with more than one word will be parsed as multible commands.
8The patch introduces SMS message text in bracket and fixes a NULL pointer
9reference on mailformed "ss" commands.
10
11Signed-off-by: Jim Huang <jserv@openmoko.org>
12---
13 src/util/shell.c | 32 ++++++++++++++++++++++++++------
14 1 file changed, 26 insertions(+), 6 deletions(-)
15
16Index: gsm/src/util/shell.c
17===================================================================
18--- gsm.orig/src/util/shell.c 2007-08-31 16:15:30.000000000 +0800
19+++ gsm/src/util/shell.c 2007-09-17 23:35:31.000000000 +0800
20@@ -389,7 +389,7 @@
21 "\tsd\tSMS Delete (sd=index,delflg)\n"
22 "\tsl\tSMS List (sl=stat)\n"
23 "\tsr\tSMS Read (sr=index)\n"
24- "\tss\tSMS Send (ss=number,text)\n"
25+ "\tss\tSMS Send (ss=number,text|[\"text\"])\n"
26 "\tsw\tSMS Write (sw=stat,number,text)\n"
27 "\tsm\tSMS Storage stats\n"
28 "\tsM\tSMS Set preferred storage (sM=mem1,mem2,mem3)\n"
29@@ -612,16 +612,36 @@
30
31 lgsm_sms_read(lgsmh, atoi(ptr+1));
32 } else if ( !strncmp(buf, "ss", 2)) {
33- printf("Send SMS\n");
34 struct lgsm_sms sms;
35
36 ptr = strchr(buf, '=');
37 fcomma = strchr(buf, ',');
38- strncpy(sms.addr, ptr+1, fcomma-ptr-1);
39- sms.addr[fcomma-ptr-1] = '\0';
40- packing_7bit_character(fcomma+1, &sms);
41+ if (!ptr || !fcomma) {
42+ printf("Wrong command format\n");
43+ } else {
44+ strncpy(sms.addr, ptr+1, fcomma-ptr-1);
45+ sms.addr[fcomma-ptr-1] = '\0';
46+
47+ /* todo define \" to allow " in text */
48+ if (fcomma[1] == '"' &&
49+ !strchr(fcomma+2, '"')) {
50+ /* read until closing '"' */
51+ rc = fscanf(stdin, "%[^\"]\"",
52+ fcomma+strlen(fcomma));
53+ if (rc == EOF) {
54+ printf("EOF\n");
55+ return -1;
56+ }
57+ /* remove brackets */
58+ fcomma++;
59+ fcomma[strlen(fcomma)] = '\0';
60+ }
61+
62+ printf("Send SMS\n");
63+ packing_7bit_character(fcomma+1, &sms);
64
65- lgsm_sms_send(lgsmh, &sms);
66+ lgsm_sms_send(lgsmh, &sms);
67+ }
68 } else if ( !strncmp(buf, "sw", 2)) {
69 printf("Write SMS\n");
70 struct lgsm_sms_write sms_write;