xmlChar * common_uri_escape (const xmlChar *url) { xmlChar *result; g_assert (NULL != url); /* xmlURIEscape returns NULL if spaces are in the URL, so we need to replace them first (see SF #2965158) */ result = common_strreplace (g_strdup (url), " ", "+"); result = xmlURIEscape (result); /* workaround if escaping somehow fails... */ if (!result) result = g_strdup (url); return result; }
rulePtr rule_new (const gchar *ruleId, const gchar *value, gboolean additive) { GSList *iter; iter = rule_get_available_rules (); while (iter) { ruleInfoPtr ruleInfo = (ruleInfoPtr)iter->data; if (0 == strcmp (ruleInfo->ruleId, ruleId)) { rulePtr rule = (rulePtr) g_new0 (struct rule, 1); rule->ruleInfo = ruleInfo; rule->additive = additive; rule->value = common_strreplace (g_strdup (value), "'", ""); return rule; } iter = g_slist_next (iter); }