gst/subparse/samiparse.c: More case-insensitivity for certain tags; recognise entitie...
authorYoung-Ho Cha <ganadist@chollian.net>
Sat, 23 Sep 2006 14:30:53 +0000 (14:30 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Sat, 23 Sep 2006 14:30:53 +0000 (14:30 +0000)
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian dot net>
* gst/subparse/samiparse.c: (handle_start_font),
(fix_invalid_entities):
More case-insensitivity for certain tags; recognise entities with
decimal codes as special entities as well (#357330).

ChangeLog
gst/subparse/samiparse.c

index dd783ce..664e6c7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2006-09-23  Tim-Philipp Müller  <tim at centricular dot net>
 
+       Patch by: Young-Ho Cha <ganadist at chollian dot net>
+
+       * gst/subparse/samiparse.c: (handle_start_font),
+       (fix_invalid_entities):
+         More case-insensitivity for certain tags; recognise entities with
+         decimal codes as special entities as well (#357330).
+
+2006-09-23  Tim-Philipp Müller  <tim at centricular dot net>
+
        * gst-libs/gst/Makefile.am:
          Need to build tag directory before cdda.
 
index fbe79b9..39164f7 100644 (file)
@@ -177,12 +177,12 @@ handle_start_font (GstSamiContext * sctx, const xmlChar ** atts)
         }
         /* silver colour can be found in many sami files, but X RGB database
          * doesn't contain a colour by this name, so map explicitly */
-        if (!xmlStrncmp ((const xmlChar *) "silver", value, 6)) {
+        if (!xmlStrncasecmp ((const xmlChar *) "silver", value, 6)) {
           value = (const xmlChar *) "#c0c0c0";
         }
         g_string_append_printf (sctx->buf, " foreground=\"%s%s\"", sharp,
             value);
-      } else if (!xmlStrncmp ((const xmlChar *) "face", key, 4)) {
+      } else if (!xmlStrncasecmp ((const xmlChar *) "face", key, 4)) {
         g_string_append_printf (sctx->buf, " font_family=\"%s\"", value);
       }
     }
@@ -376,7 +376,8 @@ fix_invalid_entities (const gchar * line)
         && g_ascii_strncasecmp (cp, "apos;", 5)
         && g_ascii_strncasecmp (cp, "lt;", 3)
         && g_ascii_strncasecmp (cp, "gt;", 3)
-        && g_ascii_strncasecmp (cp, "nbsp;", 5)) {
+        && g_ascii_strncasecmp (cp, "nbsp;", 5)
+        && cp[0] != '#') {
       /* translate "&" to "&amp;" */
       ret = g_string_append_len (ret, "&amp;", 5);
     } else {