Return-Path: Delivered-To: apache-bugdb-archive@hyperreal.org Received: (qmail 1983 invoked by uid 6000); 23 Oct 1997 13:30:13 -0000 Received: (qmail 1812 invoked by uid 2001); 23 Oct 1997 13:30:02 -0000 Date: 23 Oct 1997 13:30:02 -0000 Message-ID: <19971023133002.1811.qmail@hyperreal.org> To: apache-bugdb@apache.org Cc: apache-bugdb@apache.org, From: Marc Slemko Subject: Re: os-freebsd/1311: FreeBSD have better fnmatch.c but Apache still use its own broken version (fwd) Reply-To: Marc Slemko Sender: apache-bugdb-owner@apache.org Precedence: bulk The following reply was made to PR os-freebsd/1311; it has been noted by GNATS. From: Marc Slemko To: Apache bugs database Cc: Subject: Re: os-freebsd/1311: FreeBSD have better fnmatch.c but Apache still use its own broken version (fwd) Date: Thu, 23 Oct 1997 07:26:38 -0600 (MDT) ---------- Forwarded message ---------- Date: Thu, 23 Oct 1997 14:48:46 +0400 (MSD) From: "[KOI8-R] =E1=CE=C4=D2=C5=CA =FE=C5=D2=CE=CF=D7" To: dgaudet@hyperreal.org Cc: apache-bugdb@apache.org, dgaudet@apache.org Subject: Re: os-freebsd/1311: FreeBSD have better fnmatch.c but Apache stil= l use its own broken version On 23 Oct 1997 dgaudet@hyperreal.org wrote: > Sorry, no. If fnmatch is buggy, please report specific bugs, the > version in there is from a recent FreeBSD tree. We've > had enough "Fun" dealing with OS-specific regex problems. If > we need to supply fnmatch for any OS, then we'll supply it for > all of them. Well, FreeBSD version really have many enhancements like CASEFOLD or LEADING_DIR and l10n support, but real bugfix in the same abilities range as Apache fnmatch is only one, here the patch: *** src/main/fnmatch.c.orig=09Thu Oct 16 22:57:01 1997 --- src/main/fnmatch.c=09Thu Oct 23 14:37:04 1997 *************** *** 110,115 **** --- 110,119 ---- =09=09return (FNM_NOMATCH); =09 if (*string =3D=3D '/' && flags & FNM_PATHNAME) =09=09return (FNM_NOMATCH); + =09 if (*string =3D=3D '.' && (flags & FNM_PERIOD) && + =09=09(string =3D=3D stringstart || + =09=09((flags & FNM_PATHNAME) && *(string - 1) =3D=3D '/'))) + =09=09 return (FNM_NOMATCH); =09 if ((pattern =3D =09=09 rangematch(pattern, *string, flags)) =3D=3D NULL) =09=09return (FNM_NOMATCH); --=20 Andrey A. Chernov http://www.nagual.pp.ru/~ache/