Re: [PATCH 1/6] Add string comparison functions that respect the ignore_case variable.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 ----- Original Message -----
From: Ævar Arnfjörð Bjarmason
Date: 8/29/2010 1:39 PM
On Wed, Aug 18, 2010 at 18:32, Johannes Sixt<j6t@xxxxxxxx>  wrote:
On Mittwoch, 18. August 2010, Ævar Arnfjörð Bjarmason wrote:
According to some further research at least FreeBSD and NetBSD have
copied this GNU extension. You may find their versions easier to
integrate.
We already have a GNU fnmatch in compat/fnmatch.
Do you have any plan to deal with this? I currently have this
monkeypatch to build on Solaris:

     diff --git a/Makefile b/Makefile
     index 62d526a..079fae5 100644
     --- a/Makefile
     +++ b/Makefile
     @@ -863,2 +863,4 @@ endif
      ifeq ($(uname_S),SunOS)
     +       COMPAT_OBJS = compat/fnmatch/fnmatch.o
     +       COMPAT_CFLAGS = -Icompat -Icompat/fnmatch
             NEEDS_SOCKET = YesPlease

One way to deal with it would be a new NONGNU_FNMATCH=UnfortunatelyYes
flag, or the fnmatch_icase() suggestion above which we could bundle
and always use. But having next build on systems without GNU
extensions would be preferrable.
I am going to deal with this, but I haven't been around. I hope for some time this week.

Short of duplicating fnmatch's code and renaming the function, I am not sure how to make this play nice on all systems. You added COMPAT_OBJS above, but I think there is no linker guarantee it will pick up compat/fnmatch/fnmatch.o over the C runtime version? Perhaps the makefile is architected to do so.

The safest alternative is to allocate character buffers, lowercase the filename and match arguments into those buffers, and pass them off to fnmatch without any special flags. I don't like the idea of a double memory allocation/free combo per each call to this function, but it would work. Is anyone opposed to this approach?

Josh
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]