summaryrefslogtreecommitdiff
path: root/library/backend/vcc.y
authoreilers <eilers>2003-03-27 16:17:48 (UTC)
committer eilers <eilers>2003-03-27 16:17:48 (UTC)
commit390a5a0c332c8c6fb380c1ed4cd6adae3e544a08 (patch) (unidiff)
tree7ad6266be3d78d25ae061a0be067f82f8d666246 /library/backend/vcc.y
parentff43585778968407bb08473e45ddd1d942f8d8c8 (diff)
downloadopie-390a5a0c332c8c6fb380c1ed4cd6adae3e544a08.zip
opie-390a5a0c332c8c6fb380c1ed4cd6adae3e544a08.tar.gz
opie-390a5a0c332c8c6fb380c1ed4cd6adae3e544a08.tar.bz2
using releases from qtopia-free-1.6.0-snapshot-20030324 which fixes the
following bugs #776 and #490: Now, we could successfully parse vcards from palm 4 + 5 and quoted-printable encoded lines .. !
Diffstat (limited to 'library/backend/vcc.y') (more/less context) (ignore whitespace changes)
-rw-r--r--library/backend/vcc.y22
1 files changed, 16 insertions, 6 deletions
diff --git a/library/backend/vcc.y b/library/backend/vcc.y
index 6781312..94a8fea 100644
--- a/library/backend/vcc.y
+++ b/library/backend/vcc.y
@@ -124,3 +124,3 @@ DFARS 252.227-7013 or 48 CFR 52.227-19, as applicable.
124//#else 124//#else
125#include <qtopia/private/vobject_p.h> 125#include "vobject_p.h"
126//#endif 126//#endif
@@ -725,3 +725,3 @@ static char* lexGet1Value() {
725 lexClearToken(); 725 lexClearToken();
726 while (c != EOF && c != ';') { 726 while (c != EOF && (c != ';' || !fieldedProp)) {
727 if (c == '\\' ) { 727 if (c == '\\' ) {
@@ -730,7 +730,13 @@ static char* lexGet1Value() {
730 a = lexLookahead(); 730 a = lexLookahead();
731 if ( a != ';' ) { 731 if ( a == ';' ) {
732 lexAppendc('\\');
733 } else {
734 lexAppendc( ';' ); 732 lexAppendc( ';' );
735 lexSkipLookahead(); 733 lexSkipLookahead();
734 } else if ( a == '\n' ) {
735 lexAppendc( '\n' );
736 lexSkipLookahead();
737 } else if ( a == '\\' ) {
738 lexAppendc( '\\' );
739 lexSkipLookahead();
740 } else {
741 lexAppendc('\\');
736 } 742 }
@@ -963,2 +969,3 @@ static char* lexGetQuotedPrintable()
963 // should probably spit an error here 969 // should probably spit an error here
970 lexSkipLookahead();
964 c = lexLookahead(); 971 c = lexLookahead();
@@ -980,2 +987,3 @@ static char* lexGetQuotedPrintable()
980 // should probably spit an error here 987 // should probably spit an error here
988 lexSkipLookahead();
981 c = lexLookahead(); 989 c = lexLookahead();
@@ -1002,3 +1010,3 @@ static int yylex() {
1002 int c = lexGetc(); 1010 int c = lexGetc();
1003 if (c == ';') { 1011 if (c == ';' && fieldedProp) {
1004 DBG_(("db: SEMICOLON\n")); 1012 DBG_(("db: SEMICOLON\n"));
@@ -1056,2 +1064,3 @@ static int yylex() {
1056 /* ignoring linesep immediately after colon. */ 1064 /* ignoring linesep immediately after colon. */
1065 /* I don't see this in the spec, and it breaks null values -- WA
1057 c = lexLookahead(); 1066 c = lexLookahead();
@@ -1062,2 +1071,3 @@ static int yylex() {
1062 } 1071 }
1072 */
1063 DBG_(("db: COLON\n")); 1073 DBG_(("db: COLON\n"));