--- libcroco-0.6.8/src/cr-sel-eng.c.orig	2009-05-07 10:16:28.000000000 +0000
+++ libcroco-0.6.8/src/cr-sel-eng.c	2013-10-14 05:06:38.479558700 +0000
@@ -136,9 +136,9 @@
             || a_sel->content.pseudo->extra->stryng->len < 2)
                 return FALSE;
         for (; node; node = get_next_parent_element_node (node)) {
-                val = xmlGetProp (node, "lang");
+                val = xmlGetProp (node, (const xmlChar *) "lang");
                 if (val
-                    && !strqcmp (val,
+                    && !strqcmp ((const char *) val,
                                  a_sel->content.pseudo->extra->stryng->str,
                                  a_sel->content.pseudo->extra->stryng->len)) {
                         result = TRUE;
@@ -196,7 +196,7 @@
                               && a_node, CR_BAD_PARAM_ERROR);
 
         status = cr_sel_eng_get_pseudo_class_selector_handler
-                (a_this, a_add_sel->content.pseudo->name->stryng->str,
+                (a_this, (guchar *) a_add_sel->content.pseudo->name->stryng->str,
                  a_add_sel->content.pseudo->type, &handler);
         if (status != CR_OK || !handler)
                 return FALSE;
@@ -224,15 +224,15 @@
                               && a_add_sel->content.class_name->stryng->str
                               && a_node, FALSE);
 
-        if (xmlHasProp (a_node, "class")) {
-                klass = xmlGetProp (a_node, "class");
+        if (xmlHasProp (a_node, (const xmlChar *) "class")) {
+                klass = xmlGetProp (a_node, (const xmlChar *) "class");
                 for (cur = klass; cur && *cur; cur++) {
                         while (cur && *cur
                                && cr_utils_is_white_space (*cur) 
                                == TRUE)
                                 cur++;
 
-                        if (!strncmp (cur, 
+                        if (!strncmp ((const char *) cur, 
                                       a_add_sel->content.class_name->stryng->str,
                                       a_add_sel->content.class_name->stryng->len)) {
                                 cur += a_add_sel->content.class_name->stryng->len;
@@ -278,9 +278,9 @@
                               && a_add_sel->type == ID_ADD_SELECTOR
                               && a_node, FALSE);
 
-        if (xmlHasProp (a_node, "id")) {
-                id = xmlGetProp (a_node, "id");
-                if (!strqcmp (id, a_add_sel->content.id_name->stryng->str,
+        if (xmlHasProp (a_node, (const xmlChar *) "id")) {
+                id = xmlGetProp (a_node, (const xmlChar *) "id");
+                if (!strqcmp ((const char *) id, a_add_sel->content.id_name->stryng->str,
                               a_add_sel->content.id_name->stryng->len)) {
                         result = TRUE;
                 }
@@ -320,7 +320,7 @@
                                 return FALSE;
 
                         if (!xmlHasProp (a_node,
-                                         cur_sel->name->stryng->str))
+                                         (const xmlChar *) cur_sel->name->stryng->str))
                                 return FALSE;
                         break;
 
@@ -338,16 +338,16 @@
 
                                 if (!xmlHasProp 
                                     (a_node, 
-                                     cur_sel->name->stryng->str))
+                                     (const xmlChar *) cur_sel->name->stryng->str))
                                         return FALSE;
 
                                 value = xmlGetProp 
                                         (a_node,
-                                         cur_sel->name->stryng->str);
+                                         (const xmlChar *) cur_sel->name->stryng->str);
 
                                 if (value
                                     && strcmp 
-                                    (value, 
+                                    ((const char *) value, 
                                      cur_sel->value->stryng->str)) {
                                         xmlFree (value);
                                         return FALSE;
@@ -366,11 +366,11 @@
 
                                 if (!xmlHasProp 
                                     (a_node, 
-                                     cur_sel->name->stryng->str))
+                                     (const xmlChar *) cur_sel->name->stryng->str))
                                         return FALSE;
                                 value = xmlGetProp 
                                         (a_node,
-                                         cur_sel->name->stryng->str);
+                                         (const xmlChar *) cur_sel->name->stryng->str);
 
                                 if (!value)
                                         return FALSE;
@@ -402,7 +402,7 @@
                                         ptr2 = cur;
 
                                         if (!strncmp
-                                            (ptr1, 
+                                            ((const char *) ptr1, 
                                              cur_sel->value->stryng->str,
                                              ptr2 - ptr1 + 1)) {
                                                 found = TRUE;
@@ -429,11 +429,11 @@
 
                                 if (!xmlHasProp 
                                     (a_node, 
-                                     cur_sel->name->stryng->str))
+                                     (const xmlChar *) cur_sel->name->stryng->str))
                                         return FALSE;
                                 value = xmlGetProp 
                                         (a_node,
-                                         cur_sel->name->stryng->str);
+                                         (const xmlChar *) cur_sel->name->stryng->str);
 
                                 /*
                                  *here, make sure value is an hyphen
@@ -451,7 +451,7 @@
                                         ptr2 = cur;
 
                                         if (g_strstr_len
-                                            (ptr1, ptr2 - ptr1 + 1,
+                                            ((const gchar *) ptr1, ptr2 - ptr1 + 1,
                                              cur_sel->value->stryng->str)
                                             == (gchar *) ptr1) {
                                                 found = TRUE;
@@ -653,7 +653,7 @@
                          && cur_sel->name->stryng
                          && cur_sel->name->stryng->str)
                      && (!strcmp (cur_sel->name->stryng->str,
-                                  cur_node->name)))
+                                  (const char *) cur_node->name)))
                     || (cur_sel->type_mask & UNIVERSAL_SELECTOR)) {
                         /*
                          *this simple selector
@@ -1180,7 +1180,7 @@
         }
         memset (handler_entry, 0,
                 sizeof (struct CRPseudoClassSelHandlerEntry));
-        handler_entry->name = g_strdup (a_name);
+        handler_entry->name = (guchar *) g_strdup ((const gchar *) a_name);
         handler_entry->type = a_type;
         handler_entry->handler = a_handler;
         list = g_list_append (PRIVATE (a_this)->pcs_handlers, handler_entry);
@@ -1206,7 +1206,7 @@
         for (elem = PRIVATE (a_this)->pcs_handlers;
              elem; elem = g_list_next (elem)) {
                 entry = elem->data;
-                if (!strcmp (entry->name, a_name)
+                if (!strcmp ((const char *) entry->name, (const char *) a_name)
                     && entry->type == a_type) {
                         found = TRUE;
                         break;
@@ -1279,7 +1279,7 @@
         for (elem = PRIVATE (a_this)->pcs_handlers;
              elem; elem = g_list_next (elem)) {
                 entry = elem->data;
-                if (!strcmp (a_name, entry->name)
+                if (!strcmp ((const char *) a_name, (const char *) entry->name)
                     && entry->type == a_type) {
                         found = TRUE;
                         break;
