[Gluster-devel] [PATCH BUG:361 2/3] OS X: fnctl() flag FNM_EXTMATCH is not supported under Mac OS X

noah williamsson noah.williamsson at gmail.com
Mon Sep 27 19:48:57 UTC 2010


2010/9/27 Amar Tumballi <amar at gluster.com>:
> How about having
>
> #define FNM_EXTMATCH 0
>
> in #ifdef DARWIN_OS section of 'libglusterfs/src/compat.h' file??
>
> Idea is to have as less as possible OS specific code inside core, and handle
> maximum possible things in compat.{c,h}
>

That would indeed be more elegant, however, given the fact that
FNM_EXTMATCH is a GNU fnmatch() extension, maybe it should be
considered to get rid of its use completely to get a consistent
behavior across different OSes?


> -Amar
>
> On Mon, Sep 27, 2010 at 6:47 PM, Noah Williamsson
> <noah.williamsson at gmail.com> wrote:
>>
>> Signed-off-by: Noah Williamsson <noah.williamsson at gmail.com>
>> ---
>>  libglusterfs/src/xlator.c |    5 +++++
>>  1 files changed, 5 insertions(+), 0 deletions(-)
>>
>> diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c
>> index 3930880..2e48f75 100644
>> --- a/libglusterfs/src/xlator.c
>> +++ b/libglusterfs/src/xlator.c
>> @@ -375,8 +375,13 @@ _volume_option_value_validate (xlator_t *xl,
>>
>>                for (i = 0; (i < ZR_OPTION_MAX_ARRAY_SIZE) &&
>>                             opt->value[i]; i++) {
>> +#ifdef GF_DARWIN_HOST_OS
>> +                        if (fnmatch (opt->value[i], pair->value->data,
>> +                                     0) == 0) {
>> +#else
>>                         if (fnmatch (opt->value[i], pair->value->data,
>>                                      FNM_EXTMATCH) == 0) {
>> +#endif
>>                                ret = 0;
>>                                break;
>>                        }
>> --
>> 1.6.6.1
>>

-- 
Best regards,
Noah Williamsson




More information about the Gluster-devel mailing list