aboutsummaryrefslogtreecommitdiff
path: root/libsylph/xml.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2011-06-28 07:22:24 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2011-06-28 07:22:24 +0000
commitb3428b720c8c4ba59a4539542a0bf3e3a131bde8 (patch)
treed03f5969dc1e4c3cd9d8ff29bb0af65d09589afc /libsylph/xml.c
parentc88da1f3d24c89cd80b2418a2c6cfe40567fd67e (diff)
libsylph/xml.c: xml_unescape_str(): removed alloca() call.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2918 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'libsylph/xml.c')
-rw-r--r--libsylph/xml.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/libsylph/xml.c b/libsylph/xml.c
index 23b98506..e641e84d 100644
--- a/libsylph/xml.c
+++ b/libsylph/xml.c
@@ -480,7 +480,6 @@ gint xml_unescape_str(gchar *str)
gchar *start;
gchar *end;
gchar *p = str;
- gchar *esc_str;
gchar ch;
gint len;
@@ -496,16 +495,15 @@ gint xml_unescape_str(gchar *str)
continue;
}
- Xstrndup_a(esc_str, start, len, return -1);
- if (!strcmp(esc_str, "&lt;"))
+ if (!strncmp(start, "&lt;", 4))
ch = '<';
- else if (!strcmp(esc_str, "&gt;"))
+ else if (!strncmp(start, "&gt;", 4))
ch = '>';
- else if (!strcmp(esc_str, "&amp;"))
+ else if (!strncmp(start, "&amp;", 5))
ch = '&';
- else if (!strcmp(esc_str, "&apos;"))
+ else if (!strncmp(start, "&apos;", 6))
ch = '\'';
- else if (!strcmp(esc_str, "&quot;"))
+ else if (!strncmp(start, "&quot;", 6))
ch = '\"';
else {
p = end + 1;