diff options
| author | Joakim Verona | 2011-06-16 00:22:07 +0200 |
|---|---|---|
| committer | Joakim Verona | 2011-06-16 00:22:07 +0200 |
| commit | a7513ade3bc0fe79430d5541d88c9dcda0932bec (patch) | |
| tree | 4383951ba698a11e9f8933a9d8c72e00aa872a10 /src/xml.c | |
| parent | 4bd51ad5c3445b644dfb017d5b57b10a90aa325f (diff) | |
| parent | 4bba86e6210a74326e843a8fdc8409127105e1fe (diff) | |
| download | emacs-a7513ade3bc0fe79430d5541d88c9dcda0932bec.tar.gz emacs-a7513ade3bc0fe79430d5541d88c9dcda0932bec.zip | |
merge from upstream
Diffstat (limited to 'src/xml.c')
| -rw-r--r-- | src/xml.c | 18 |
1 files changed, 10 insertions, 8 deletions
| @@ -28,11 +28,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 28 | #include "lisp.h" | 28 | #include "lisp.h" |
| 29 | #include "buffer.h" | 29 | #include "buffer.h" |
| 30 | 30 | ||
| 31 | Lisp_Object make_dom (xmlNode *node) | 31 | static Lisp_Object |
| 32 | make_dom (xmlNode *node) | ||
| 32 | { | 33 | { |
| 33 | if (node->type == XML_ELEMENT_NODE) | 34 | if (node->type == XML_ELEMENT_NODE) |
| 34 | { | 35 | { |
| 35 | Lisp_Object result = Fcons (intern (node->name), Qnil); | 36 | Lisp_Object result = Fcons (intern ((char *) node->name), Qnil); |
| 36 | xmlNode *child; | 37 | xmlNode *child; |
| 37 | xmlAttr *property; | 38 | xmlAttr *property; |
| 38 | Lisp_Object plist = Qnil; | 39 | Lisp_Object plist = Qnil; |
| @@ -44,8 +45,9 @@ Lisp_Object make_dom (xmlNode *node) | |||
| 44 | if (property->children && | 45 | if (property->children && |
| 45 | property->children->content) | 46 | property->children->content) |
| 46 | { | 47 | { |
| 47 | plist = Fcons (Fcons (intern (property->name), | 48 | char *content = (char *) property->children->content; |
| 48 | build_string (property->children->content)), | 49 | plist = Fcons (Fcons (intern ((char *) property->name), |
| 50 | build_string (content)), | ||
| 49 | plist); | 51 | plist); |
| 50 | } | 52 | } |
| 51 | property = property->next; | 53 | property = property->next; |
| @@ -65,7 +67,7 @@ Lisp_Object make_dom (xmlNode *node) | |||
| 65 | else if (node->type == XML_TEXT_NODE || node->type == XML_CDATA_SECTION_NODE) | 67 | else if (node->type == XML_TEXT_NODE || node->type == XML_CDATA_SECTION_NODE) |
| 66 | { | 68 | { |
| 67 | if (node->content) | 69 | if (node->content) |
| 68 | return build_string (node->content); | 70 | return build_string ((char *) node->content); |
| 69 | else | 71 | else |
| 70 | return Qnil; | 72 | return Qnil; |
| 71 | } | 73 | } |
| @@ -102,16 +104,16 @@ parse_region (Lisp_Object start, Lisp_Object end, Lisp_Object base_url, int html | |||
| 102 | bytes = CHAR_TO_BYTE (iend) - CHAR_TO_BYTE (istart); | 104 | bytes = CHAR_TO_BYTE (iend) - CHAR_TO_BYTE (istart); |
| 103 | 105 | ||
| 104 | if (htmlp) | 106 | if (htmlp) |
| 105 | doc = htmlReadMemory (BYTE_POS_ADDR (CHAR_TO_BYTE (istart)), | 107 | doc = htmlReadMemory ((char *) BYTE_POS_ADDR (CHAR_TO_BYTE (istart)), |
| 106 | bytes, burl, "utf-8", | 108 | bytes, burl, "utf-8", |
| 107 | HTML_PARSE_RECOVER|HTML_PARSE_NONET| | 109 | HTML_PARSE_RECOVER|HTML_PARSE_NONET| |
| 108 | HTML_PARSE_NOWARNING|HTML_PARSE_NOERROR| | 110 | HTML_PARSE_NOWARNING|HTML_PARSE_NOERROR| |
| 109 | HTML_PARSE_NOBLANKS); | 111 | HTML_PARSE_NOBLANKS); |
| 110 | else | 112 | else |
| 111 | doc = xmlReadMemory (BYTE_POS_ADDR (CHAR_TO_BYTE (istart)), | 113 | doc = xmlReadMemory ((char *) BYTE_POS_ADDR (CHAR_TO_BYTE (istart)), |
| 112 | bytes, burl, "utf-8", | 114 | bytes, burl, "utf-8", |
| 113 | XML_PARSE_NONET|XML_PARSE_NOWARNING| | 115 | XML_PARSE_NONET|XML_PARSE_NOWARNING| |
| 114 | XML_PARSE_NOERROR); | 116 | XML_PARSE_NOBLANKS |XML_PARSE_NOERROR); |
| 115 | 117 | ||
| 116 | if (doc != NULL) | 118 | if (doc != NULL) |
| 117 | { | 119 | { |