Glob-style pattern matching matches strings against patterns containing '*' (wildcard) and '?' (joker). The g_pattern_match* functions match a string against a pattern containing '*' and '?' wildcards with similar semantics as the standard glob() function: '*' matches an arbitrary, possibly empty, string, '?' matches an arbitrary character. Note that in contrast to glob(), the '/' character can be matched by the wildcards, there are no '[...]' character ranges and '*' and '?' can not be escaped to include them literally in a pattern. When multiple strings must be matched against the same pattern, it is better to compile the pattern to a #GPatternSpec using g_pattern_spec_new() and use g_pattern_match_string() instead of g_pattern_match_simple(). This avoids the overhead of repeated pattern compilation. A GPatternSpec is the 'compiled' form of a pattern. This structure is opaque and its fields cannot be accessed directly. Compiles a pattern to a #GPatternSpec. @pattern: a zero-terminated UTF-8 encoded string. @Returns: a newly-allocated #GPatternSpec. Frees the memory allocated for the #GPatternSpec. @pspec: a #GPatternSpec. Compares two compiled pattern specs and returns whether they will match the same set of strings. @pspec1: a #GPatternSpec. @pspec2: another #GPatternSpec. @Returns: Whether the compiled patterns are equal. Matches a string against a compiled pattern. Passing the correct length of the string given is mandatory. The reversed string can be omitted by passing %NULL, this is more efficient if the reversed version of the string to be matched is not at hand, as g_pattern_match() will only construct it if the compiled pattern requires reverse matches. Note that, if the user code will (possibly) match a string against a multitude of patterns containing wildcards, chances are high that some patterns will require a reversed string. In this case, it's more efficient to provide the reversed string to avoid multiple constructions thereof in the various calls to g_pattern_match(). Note also that the reverse of a UTF-8 encoded string can in general not be obtained by g_strreverse(). This works only if the string doesn't contain any multibyte characters. Glib doesn't currently offer a function to reverse UTF-8 encoded strings. @pspec: a #GPatternSpec. @string_length: the length of @string. @string: the UTF-8 encoded string to match. @string_reversed: the reverse of @string or %NULL. @Returns: %TRUE if @string matches @pspec. Matches a string against a compiled pattern. If the string is to be matched against more than one pattern, consider using g_pattern_match() instead while supplying the reversed string. @pspec: a #GPatternSpec. @string: the UTF-8 encoded string to match. @Returns: %TRUE if @string matches @pspec. Matches a string against a pattern given as a string. If this function is to be called in a loop, it's more efficient to compile the pattern once with g_pattern_spec_new() and call g_pattern_match_string() repetively. @pattern: the UTF-8 encoded pattern. @string: the UTF-8 encoded string to match. @Returns: %TRUE if @string matches @pspec.