+ const gchar *p1 = v1, *p2 = v2;
+ while (*p1) {
+ /* letting '-' == '_' */
+ if (!('-' == *p1 || '_' == *p1) || !('-' == *p2 || '_' == *p2))
+ if (g_ascii_tolower(*p1) != g_ascii_tolower(*p2))
+ return FALSE;
+
+ p1++;
+ p2++;
+ }
+
+ /* p1 is at '\0' is p2 too? */
+ return *p2? FALSE : TRUE;