diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-03-15 20:04:25 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-03-15 20:04:25 +0000 |
commit | 821a6bb4360ae232140ba230724642fed9db613c (patch) | |
tree | 05147bc80d5444d6bf92ae8d043af817208f11f6 /posix/fnmatch.c | |
parent | 955994e1313ab81c1db2a456b5fdf7cacb016366 (diff) | |
download | glibc-821a6bb4360ae232140ba230724642fed9db613c.zip glibc-821a6bb4360ae232140ba230724642fed9db613c.tar.gz glibc-821a6bb4360ae232140ba230724642fed9db613c.tar.bz2 |
Update.
* posix/tst-fnmatch.input: Add test case for FNM_PERIOD handling with
FNM_EXTMATCH.
* posix/fnmatch_loop.c: Optimize handling of ?() and @().
* posix/fnmatch.c: Define STRLEN and STRCAT appropriately.
* posix/Versions [libc] (GLIBC_2.2.3): Add fnmatch.
* posix/fnmatch.c: Define with new default version GLIBC_2.2.3 to
avoid running binaries with libc versions without FNM_EXTMATCH support.
* include/wchar.h: Add prototype for __wcscat.
* wcsmbs/wcscat.c: Define __wcscat and make wcscat weak alias.
Diffstat (limited to 'posix/fnmatch.c')
-rw-r--r-- | posix/fnmatch.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/posix/fnmatch.c b/posix/fnmatch.c index 98c5ffc..df4311a 100644 --- a/posix/fnmatch.c +++ b/posix/fnmatch.c @@ -55,10 +55,13 @@ # include "../locale/localeinfo.h" # include "../locale/elem-hash.h" # include "../locale/coll-lookup.h" +# include <shlib-compat.h> # define CONCAT(a,b) __CONCAT(a,b) # define mbsinit __mbsinit # define mbsrtowcs __mbsrtowcs +# define fnmatch __fnmatch +extern int fnmatch (const char *pattern, const char *string, int flags); #endif /* We often have to test for FNM_FILE_NAME and FNM_PERIOD being both set. */ @@ -212,6 +215,8 @@ __wcschrnul (s, c) # else # define BTOWC(C) btowc (C) # endif +# define STRLEN(S) strlen (S) +# define STRCAT(D, S) strcat (D, S) # define MEMPCPY(D, S, N) __mempcpy (D, S, N) # define MEMCHR(S, C, N) memchr (S, C, N) # define STRCOLL(S1, S2) strcoll (S1, S2) @@ -233,6 +238,8 @@ __wcschrnul (s, c) # define END end_wpattern # define L(CS) L##CS # define BTOWC(C) (C) +# define STRLEN(S) __wcslen (S) +# define STRCAT(D, S) __wcscat (D, S) # define MEMPCPY(D, S, N) __wmempcpy (D, S, N) # define MEMCHR(S, C, N) wmemchr (S, C, N) # define STRCOLL(S1, S2) wcscoll (S1, S2) @@ -355,4 +362,13 @@ fnmatch (pattern, string, flags) flags & FNM_PERIOD, flags); } +# ifdef _LIBC +# undef fnmatch +versioned_symbol (libc, __fnmatch, fnmatch, GLIBC_2_2_3); +# if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_3) +strong_alias (__fnmatch, __fnmatch_old) +compat_symbol (libc, __fnmatch_old, fnmatch, GLIBC_2_0); +# endif +# endif + #endif /* _LIBC or not __GNU_LIBRARY__. */ |