diff options
author | Richard Purdie <richard@openedhand.com> | 2008-05-22 10:03:59 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2008-05-22 10:03:59 +0000 |
commit | 39eb232793686099027d7b5577e541ac12339042 (patch) | |
tree | 5254028d9b5dd5be1c4f9497456af4d857ef1113 /meta/packages/libgsmd/files/028_shell-phonebook-find-and-read-range-support.patch | |
parent | 691f2eb5764d72801cecd8ab999782777d556b61 (diff) | |
download | openembedded-core-39eb232793686099027d7b5577e541ac12339042.tar.gz openembedded-core-39eb232793686099027d7b5577e541ac12339042.tar.bz2 openembedded-core-39eb232793686099027d7b5577e541ac12339042.tar.xz openembedded-core-39eb232793686099027d7b5577e541ac12339042.zip |
libgsmd: Sync with OE.dev
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4539 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/libgsmd/files/028_shell-phonebook-find-and-read-range-support.patch')
-rw-r--r-- | meta/packages/libgsmd/files/028_shell-phonebook-find-and-read-range-support.patch | 264 |
1 files changed, 0 insertions, 264 deletions
diff --git a/meta/packages/libgsmd/files/028_shell-phonebook-find-and-read-range-support.patch b/meta/packages/libgsmd/files/028_shell-phonebook-find-and-read-range-support.patch deleted file mode 100644 index db07a5df3..000000000 --- a/meta/packages/libgsmd/files/028_shell-phonebook-find-and-read-range-support.patch +++ /dev/null @@ -1,264 +0,0 @@ -From: Sean Chiang <sean_chiang@openmoko.com> -Subject: [PATCH] improvement for find and read phonebooks in shell - -This patch improves the functions to find and read phonebooks in shell. - -Besides prr and pf, I add two new commands pRr and pRf to retrieve the -phonebook. - -Signed-off-by: Jim Huang <jserv@openmoko.org> - -Index: gsm/src/util/shell.c -=================================================================== ---- gsm.orig/src/util/shell.c 2007-09-17 23:57:51.000000000 +0800 -+++ gsm/src/util/shell.c 2007-09-17 23:59:04.000000000 +0800 -@@ -34,8 +34,6 @@ - #include <gsmd/usock.h> - #include <gsmd/ts0705.h> - --#include <common/linux_list.h> -- - #ifndef __GSMD__ - #define __GSMD__ - #include <gsmd/talloc.h> -@@ -43,9 +41,8 @@ - #endif - - #define STDIN_BUF_SIZE 1024 -- --static LLIST_HEAD(storage_list); --static LLIST_HEAD(phonebook_list); -+static int nFIND = 0; -+static int nREADRG = 0; - - /* this is the handler for receiving passthrough responses */ - static int pt_msghandler(struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh) -@@ -62,46 +59,23 @@ - struct gsmd_phonebook_storage *gpst; - char *payload; - char *fcomma, *lcomma, *ptr = NULL; -+ int *num; - char buf[128]; -+ int i; - - switch (gmh->msg_subtype) { --#if 0 - case GSMD_PHONEBOOK_FIND: -+ num = (int *) ((char *)gmh + sizeof(*gmh)); -+ printf("Records:%d\n", *num); -+ -+ nFIND = *num; -+ break; - case GSMD_PHONEBOOK_READRG: -- payload = (char *)gmh + sizeof(*gmh); -+ num = (int *) ((char *)gmh + sizeof(*gmh)); -+ printf("Records:%d\n", *num); - -- if (!strncmp(payload, "+CPBR", 5) || -- !strncmp(payload, "+CPBF", 5)) { -- gp = (struct gsmd_phonebook *) malloc(sizeof(struct gsmd_phonebook)); -- ptr = strchr(payload, ' '); -- gp->index = atoi(ptr+1); -- -- fcomma = strchr(payload, '"'); -- lcomma = strchr(fcomma+1, '"'); -- strncpy(gp->numb, fcomma + 1, (lcomma-fcomma-1)); -- gp->numb[(lcomma - fcomma) - 1] = '\0'; -- -- gp->type = atoi(lcomma + 2); -- -- ptr = strrchr(payload, ','); -- fcomma = ptr + 1; -- lcomma = strchr(fcomma + 1, '"'); -- strncpy(gp->text, fcomma + 1, (lcomma - fcomma - 1)); -- gp->text[(lcomma - fcomma) - 1] = '\0'; -- -- llist_add_tail(&gp->list, &phonebook_list); -- --#if 0 -- llist_for_each_entry(gp, &phonebook_list, list) { -- printf("%d, %s, %d, %s\n", gp->index, gp->numb, gp->type, gp->text); -- } --#endif -- printf("%d, %s, %d, %s\n", gp->index, gp->numb, gp->type, gp->text); -- } -- else -- printf("%s\n", payload); -+ nREADRG = *num; - break; --#endif - case GSMD_PHONEBOOK_READ: - gp = (struct gsmd_phonebook *) ((char *)gmh + sizeof(*gmh)); - if (gp->index) -@@ -115,48 +89,18 @@ - gps = (struct gsmd_phonebook_support *) ((char *)gmh + sizeof(*gmh)); - printf("(1-%d), %d, %d\n", gps->index, gps->nlength, gps->tlength); - break; --#if 0 -- case GSMD_PHONEBOOK_LIST_STORAGE: -- payload = (char *)gmh + sizeof(*gmh); - -- if (!strncmp(payload, "+CPBS", 5)) { -- char* delim = "(,"; -- struct gsmd_phonebook_storage *cur, *cur2; -- -- /* Remove previous record */ -- if (!llist_empty(&storage_list)) { -- llist_for_each_entry_safe(cur, cur2, -- &storage_list, list) { -- llist_del(&cur->list); -- talloc_free(cur); -- } -- } -- -- ptr = strpbrk(payload, delim); -- -- while ( ptr ) { -- gpst = (struct gsmd_phonebook_storage *) malloc(sizeof(struct gsmd_phonebook_storage)); -- strncpy(gpst->storage, ptr+2, 2); -- gpst->storage[2] = '\0'; -- -- ptr = strpbrk(ptr+2, delim); -- -- llist_add_tail(&gpst->list, &storage_list); -- } -+ case GSMD_PHONEBOOK_LIST_STORAGE: -+ gpst = (struct gsmd_phonebook_storage *)((char *)gmh + sizeof(*gmh)); - -- if (llist_empty(&storage_list)) -- return 0; -+ for (i = 0; i < gpst->num; i++) { -+ printf("%s, ", gpst->mem[i].type); -+ } - -- llist_for_each_entry(cur, &storage_list, list) { -- printf("\n%s",cur->storage); -- } -+ printf("\n"); - -- printf("\n"); -- } -- else -- printf("%s\n", payload); - break; --#endif -+ - case GSMD_PHONEBOOK_WRITE: - case GSMD_PHONEBOOK_DELETE: - case GSMD_PHONEBOOK_SET_STORAGE: -@@ -164,6 +108,26 @@ - payload = (char *)gmh + sizeof(*gmh); - printf("%s\n", payload); - break; -+ case GSMD_PHONEBOOK_RETRIEVE_READRG: -+ gp = (struct gsmd_phonebook *) ((char *)gmh + sizeof(*gmh)); -+ -+ for (i=0; i<nREADRG; i++) { -+ printf("%d,%s,%d,%s\n", gp->index, gp->numb, gp->type, gp->text); -+ gp++; -+ } -+ -+ nREADRG = 0; -+ break; -+ case GSMD_PHONEBOOK_RETRIEVE_FIND: -+ gp = (struct gsmd_phonebook *) ((char *)gmh + sizeof(*gmh)); -+ -+ for (i = 0; i < nFIND; i++) { -+ printf("%d,%s,%d,%s\n", gp->index, gp->numb, gp->type, gp->text); -+ gp++; -+ } -+ -+ nFIND = 0; -+ break; - default: - return -EINVAL; - } -@@ -381,11 +345,13 @@ - "\tpd\tPB Delete (pb=index)\n" - "\tpr\tPB Read (pr=index)\n" - "\tprr\tPB Read Range (prr=index1,index2)\n" -- "\tpf\tPB Find (pff=indtext)\n" -+ "\tpf\tPB Find (pf=indtext)\n" - "\tpw\tPB Write (pw=index,number,text)\n" - "\tps\tPB Support\n" - "\tpm\tPB Memory\n" - "\tpp\tPB Set Memory (pp=storage)\n" -+ "\tpRr\tRetrieve Readrg Records\n" -+ "\tpRf\tRetrieve Find Records\n" - "\tsd\tSMS Delete (sd=index,delflg)\n" - "\tsl\tSMS List (sl=stat)\n" - "\tsr\tSMS Read (sr=index)\n" -@@ -509,48 +475,21 @@ - printf("Delete Phonebook Entry\n"); - ptr = strchr(buf, '='); - lgsm_pb_del_entry(lgsmh, atoi(ptr+1)); --#if 0 - } else if ( !strncmp(buf, "prr", 3)) { - printf("Read Phonebook Entries\n"); - struct lgsm_phonebook_readrg pb_readrg; -- struct gsmd_phonebook *gp_cur, *gp_cur2; -- -- /* Remove records */ -- if (!llist_empty(&phonebook_list)) { -- llist_for_each_entry_safe(gp_cur, -- gp_cur2, -- &phonebook_list, -- list) { -- llist_del(&gp_cur->list); -- talloc_free(gp_cur); -- } -- } - - ptr = strchr(buf, '='); - pb_readrg.index1 = atoi(ptr+1); - ptr = strchr(buf, ','); - pb_readrg.index2 = atoi(ptr+1); - lgsm_pb_read_entries(lgsmh, &pb_readrg); --#endif - } else if ( !strncmp(buf, "pr", 2)) { - ptr = strchr(buf, '='); - lgsm_pb_read_entry(lgsmh, atoi(ptr+1)); --#if 0 - } else if ( !strncmp(buf, "pf", 2)) { - printf("Find Phonebook Entry\n"); - struct lgsm_phonebook_find pb_find; -- struct gsmd_phonebook *gp_cur, *gp_cur2; -- -- /* Remove records */ -- if (!llist_empty(&phonebook_list)) { -- llist_for_each_entry_safe(gp_cur, -- gp_cur2, -- &phonebook_list, -- list) { -- llist_del(&gp_cur->list); -- talloc_free(gp_cur); -- } -- } - - ptr = strchr(buf, '='); - strncpy(pb_find.findtext, -@@ -559,7 +498,6 @@ - pb_find.findtext[strlen(ptr+1)] = '\0'; - - lgsm_pb_find_entry(lgsmh, &pb_find); --#endif - } else if ( !strncmp(buf, "pw", 2)) { - printf("Write Phonebook Entry\n"); - struct lgsm_phonebook pb; -@@ -591,6 +529,16 @@ - } else if ( !strncmp(buf, "ps", 2)) { - printf("Get Phonebook Support\n"); - lgsm_pb_get_support(lgsmh); -+ } else if( !strncmp(buf, "pRr", 3) ) { -+ printf("Retrieve Readrg Records\n"); -+ -+ if ( nREADRG ) -+ lgsm_pb_retrieve_readrg(lgsmh, nREADRG); -+ } else if( !strncmp(buf, "pRf", 3) ) { -+ printf("Retrieve Find Records\n"); -+ -+ if ( nFIND ) -+ lgsm_pb_retrieve_find(lgsmh, nFIND); - } else if ( !strncmp(buf, "sd", 2)) { - printf("Delete SMS\n"); - struct lgsm_sms_delete sms_del; |