mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-13 15:56:23 +01:00
92dfa96114
Fri Oct 12 18:24:02 2001 Tim Janik <timj@gtk.org> * glib/gpattern.[hc]: make struct _GPatternSpec and GMatchType private. (g_pattern_equal): new function to return equality of two patterns (required because GPatternSpec is private now). (g_pattern_spec_new): fix bug wrg wildcard counting which produced incorrect pattern specs (discovered by Matthias Clasen). optimized code so we just keep one compiled pattern string now. correctly canonicalize patterns. reduce string walks, optimize decision about MATCH_ALL vs. MATCH_ALL_TAIL. (g_pattern_match_string): call just g_pattern_match() with NULL reversed string. (g_pattern_match): allow NULL reversed strings now, reverse_dup strings on demand. * tests/patterntest.c (test_compilation): added an extended testcase for pattern matching from Matthias Clasen <matthiasc@poet.de>. Sat Oct 13 06:58:23 2001 Tim Janik <timj@gtk.org> * glib/tmpl/patterns.sgml: amended documentation.
45 lines
1.6 KiB
C
45 lines
1.6 KiB
C
/* GLIB - Library of useful routines for C programming
|
|
* Copyright (C) 1995-1997, 1999 Peter Mattis, Red Hat, Inc.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
* Boston, MA 02111-1307, USA.
|
|
*/
|
|
#ifndef __G_PATTERN_H__
|
|
#define __G_PATTERN_H__
|
|
|
|
#include <glib/gtypes.h>
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
|
|
typedef struct _GPatternSpec GPatternSpec;
|
|
|
|
GPatternSpec* g_pattern_spec_new (const gchar *pattern);
|
|
void g_pattern_spec_free (GPatternSpec *pspec);
|
|
gboolean g_pattern_spec_equal (GPatternSpec *pspec1,
|
|
GPatternSpec *pspec2);
|
|
gboolean g_pattern_match (GPatternSpec *pspec,
|
|
guint string_length,
|
|
const gchar *string,
|
|
const gchar *string_reversed);
|
|
gboolean g_pattern_match_string (GPatternSpec *pspec,
|
|
const gchar *string);
|
|
gboolean g_pattern_match_simple (const gchar *pattern,
|
|
const gchar *string);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __G_PATTERN_H__ */
|