Ján Tomko wrote:
>> What is the purpose of checking for stdarg.h?
>
>As the commit message says: "... and add a check for stdarg.h so readline
headers
>use proper rl_message declaration." I thought that's enough details, but
>obviously it's not as you're asking :-)
>
I skipped that part of the commit message. I did not expect that other
checks would be influenced by this AC_CHECK_HEADERS.
>The thing is that there's a following code in readline.h:
>
>#if defined (USE_VARARGS) && defined (PREFER_STDARG)
>extern int rl_message (const char *, ...) __attribute__((__format__ (printf, 1,
2)));
>#else
>extern int rl_message ();
>#endif
>
>The latter generates the described warning and the former does not.
>
>PREFER_STDARG and USE_VARARGS come from another readline header,
>rlstdc.h, and it contains the following:
>
>#if defined (__STDC__) && defined (HAVE_STDARG_H)
># define PREFER_STDARG
># define USE_VARARGS
>#else
># if defined (HAVE_VARARGS_H)
># define PREFER_VARARGS
># define USE_VARARGS
># endif
>#endif
>
>So we need to have HAVE_STDARG_H defined to have a proper declaration.
>
>How do you like if I rephrase it like "... and add a check for stdarg.h so
>we have HAVE_STDARG_H defined that's needed by the readline headers to use
>proper rl_message declaration"?
>
Yes, that is clear enough even for me :)
Jan
Pushed with the commit message updated, thanks!
Roman Bogorodskiy