Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Jajcus/pyxmpp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorJacek Konieczny <jajcus@jajcus.net>2005-01-18 00:10:39 +0300
committerJacek Konieczny <jajcus@jajcus.net>2005-01-18 00:10:39 +0300
commit880c5316ad45f9c1417ca49404865b6c2d4d320b (patch)
tree54a7206a8b76c30d9846314427b12eafb028db76 /ext
parent5865065f6deaaeb3ffa0c61495add0c93b9889ee (diff)
- do not ignore all the CDATA, just the ignorable whitespace on the begining of the document
Diffstat (limited to 'ext')
-rw-r--r--ext/xmlextra.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/ext/xmlextra.c b/ext/xmlextra.c
index 15aa602..23b03ad 100644
--- a/ext/xmlextra.c
+++ b/ext/xmlextra.c
@@ -673,7 +673,7 @@ char c;
if (c=='<') {
new_state=LS_TSTART;
if (reader->buffer_pos>1) {
- current_markup=MT_IGNORE;
+ current_markup=MT_CDATA;
*len=reader->buffer_pos-1;
}
}
@@ -1241,6 +1241,7 @@ size_t len;
int tmp_len;
MarkupType mtype;
int depth_change;
+size_t i;
if (reader->eof){
Py_INCREF(Py_None);
@@ -1310,6 +1311,14 @@ int depth_change;
break;
case MT_IGNORE:
break;
+ case MT_CDATA:
+ for(i=0;i<len;i++){
+ if (reader->buffer[i]!=' '
+ && reader->buffer[i]!='\t'
+ && reader->buffer[i]!='\r'
+ && reader->buffer[i]!='\n') break;
+ }
+ if (i==len) break;
default:
preparsing_reader_clear(reader);
PyErr_SetString(MyError,"XML not well-formed "