On 7/9/24 11:27 AM, Arnaud, Keith A. (GSFC-662.0)[UNIV OF MARYLAND COLLEGE PARK] wrote:
There are a few prototypes of functions with no arguments that do not have void in the parentheses. This is running the 8.2 release although the same problems are still in the current git on savannah.

Thanks for the report.


In readline.h on line 410:

extern int rl_message ();

should be:

extern||int||rl_message||(void);

This was there in the #else branch to support compilers that don't have
varargs or  stdarg (how long has it been since we've seen one of those?),
and readline dropped support for non-stdarg non-ISO C functions a while
back. It's been gone for a while in the devel branch, part of a big
overhaul that dropped support for pre C89 compilers.


In rltypedefs.h lines 34-44:

#if defined(__GNUC__) || defined(__clang__)||

typedef||int||Function||()||__attribute__((|deprecated|));||

typedef||void||VFunction||()||__attribute__((|deprecated|));||

typedef||char||*CPFunction||()||__attribute__((|deprecated|));||

typedef||char||**CPPFunction||()||__attribute__((|deprecated|));||

#else||

typedef||int||Function||();||

typedef||void||VFunction||();||

typedef||char||*CPFunction||();||

typedef||char||**CPPFunction||();||

#endif

should be:

#if defined(__GNUC__) || defined(__clang__)||

typedef||int||Function||(void)||__attribute__((|deprecated|));||

typedef||void||VFunction||(void)||__attribute__((|deprecated|));||

typedef||char||*CPFunction||(void)||__attribute__((|deprecated|));||

typedef||char||**CPPFunction||(void)||__attribute__((|deprecated|));||

#else||

typedef||int||Function||(void);||

typedef||void||VFunction||(void);||

typedef||char||*CPFunction||(void);||

typedef||char||**CPPFunction||(void);||

#endif

These typedefs are also for functions that take an unknown number of
parameters, and exist only to support very old applications built against
readline (no readline code has used those typedefs since readline-4.2,
which was released in  2001). I should probably remove them in the next
major version release, even though it's only an API change -- they've been
deprecated for quite a while.

--
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    c...@case.edu    http://tiswww.cwru.edu/~chet/


  • errors in pro... Arnaud, Keith A. (GSFC-662.0)[UNIV OF MARYLAND COLLEGE PARK]
    • Re: erro... Chet Ramey

Reply via email to