bug-findutils
[Top][All Lists]
Advanced

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

Re: findutils-4.2.25: Compile problem under AIX 5.1 (gcc 4.0.0)


From: James Youngman
Subject: Re: findutils-4.2.25: Compile problem under AIX 5.1 (gcc 4.0.0)
Date: Sun, 4 Sep 2005 18:52:15 +0100
User-agent: Mutt/1.5.9i

On Sun, Sep 04, 2005 at 12:00:35PM +0200, Jens Schleusener wrote:

> Sorry, I am not a C expert. The only thing I found out is that the 
> regading line 209 in find/parser.c is
> 
>    PARSE_PUNCTUATION("(",                     open),
> 
> and "someone" translates 'open' into 'parse_open64' instead of the 
> probably expected 'parse_open' as it is similar done for all the other 
> entries in that structure.

Something is doing something equivalent to 

#define open open64

My reading of section 2.2.2 of the POSIX standard (1003.1, 2004
Edition) is that the implementation isn't allowed to do that.   

If it's the configure script which is doing this (e.g. on config.h)
then it's a bug in findutils or the GNU toolset and I'll fix it.
However, if not this could be a bug in your implementation, and that's
not something I could fix.  I would appreciate you letting me know
which of these situations pertains.

The problem is fairly easily worked around by changing 


  PARSE_PUNCTUATION("(",                     open),
  PARSE_PUNCTUATION(")",                     close),

to

  PARSE_PUNCTUATION("(",                     openparen),
  PARSE_PUNCTUATION(")",                     closeparen),

and 

  boolean parse_open              PARAMS((const struct parser_table* entry, 
char *argv[], int *arg_ptr));
  boolean parse_close             PARAMS((const struct parser_table* entry, 
char *argv[], int *arg_ptr));

to

  boolean parse_openparen         PARAMS((const struct parser_table* entry, 
char *argv[], int *arg_ptr));
  boolean parse_closeparen        PARAMS((const struct parser_table* entry, 
char *argv[], int *arg_ptr));

and renaming the parse_open and parse_close functions to
parse_openparen and parse_closeparen respectively.


Regards,
James.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]