static gchar * exists_helper (const gchar *ps1, const gchar *ps2) { gchar *res; gchar *s1 = e_util_utf8_remove_accents (ps1); gchar *s2 = e_util_utf8_remove_accents (ps2); res = (gchar *) e_util_utf8_strstrcase (s1, s2); g_free (s1); g_free (s2); return res; }
static gboolean exists_helper (const gchar *ps1, const gchar *ps2, const gchar *region) { gboolean res = FALSE; gchar *s1 = e_util_utf8_remove_accents (ps1); gchar *s2 = e_util_utf8_remove_accents (ps2); if (e_util_utf8_strstrcase (s1, s2)) res = TRUE; g_free (s1); g_free (s2); return res; }
/* (uid? UID) * * UID - the uid of the component * * Returns a boolean indicating whether the component has the given UID */ static ESExpResult * func_uid (ESExp *esexp, gint argc, ESExpResult **argv, gpointer data) { SearchContext *ctx = data; const gchar *uid = NULL, *arg_uid; gboolean equal; ESExpResult *result; /* Check argument types */ if (argc != 1) { e_sexp_fatal_error ( esexp, _("\"%s\" expects one argument"), "uid"); return NULL; } if (argv[0]->type != ESEXP_RES_STRING) { e_sexp_fatal_error ( esexp, _("\"%s\" expects the first " "argument to be a string"), "uid"); return NULL; } arg_uid = argv[0]->value.string; e_cal_component_get_uid (ctx->comp, &uid); if (!arg_uid && !uid) equal = TRUE; else if ((!arg_uid || !uid) && arg_uid != uid) equal = FALSE; else if (e_util_utf8_strstrcase (arg_uid, uid) != NULL && strlen (arg_uid) == strlen (uid)) equal = TRUE; else equal = FALSE; result = e_sexp_result_new (esexp, ESEXP_RES_BOOL); result->value.boolean = equal; return result; }
static gboolean beginswith_helper (const gchar *ps1, const gchar *ps2, const gchar *region) { gchar *p; gboolean res = FALSE; gchar *s1 = e_util_utf8_remove_accents (ps1); gchar *s2 = e_util_utf8_remove_accents (ps2); if ((p = (gchar *) e_util_utf8_strstrcase (s1, s2)) && (p == s1)) res = TRUE; g_free (s1); g_free (s2); return res; }
static gchar * beginswith_helper (const gchar *ps1, const gchar *ps2) { gchar *p, *res; gchar *s1 = e_util_utf8_remove_accents (ps1); gchar *s2 = e_util_utf8_remove_accents (ps2); if ((p = (gchar *) e_util_utf8_strstrcase (s1, s2)) && (p == s1)) res = (gchar *) ps1; else res = NULL; g_free (s1); g_free (s2); return res; }
static gchar * endswith_helper (const gchar *ps1, const gchar *ps2) { gchar *s1 = e_util_utf8_remove_accents (ps1); gchar *s2 = e_util_utf8_remove_accents (ps2); gchar *res; glong s1len = g_utf8_strlen (s1, -1); glong s2len = g_utf8_strlen (s2, -1); if (s1len < s2len) res = NULL; else res = (gchar *) e_util_utf8_strstrcase (g_utf8_offset_to_pointer (s1, s1len - s2len), s2); g_free (s1); g_free (s2); return res; }