> - extern char *getcwd();
> + extern char
*getcwd(char *, size_t);
Thanks Emmanuel and all. Maybe I should just remove the getcwd_forks
test altogether, if/since Olaf's fallback implementation isn't usable
on NFS. If it forks, it forks.
But for now, I opted (r78924) for the smaller change of removing the
getcwd declaration altogether, and instead assuming it's declared in
<unistd.h> (where it belongs, as far as I know). Previously the test
used #include <stdlib.h>, but I think that was just a mistake.
(If it turns out to be needed, can just re-add the #include <stdlib.h>.)
[AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>
int fork() { exit(1); }
int vfork() { exit(1); }
char path[100];]],
[[getcwd(path,100);]])],
The problem with providing a full prototype is that then if the system
defines something different (presumably erroneously, but it happens),
the compilation will gratuitously fail. This was not a problem with the
() declaration, and was quite useful, making sources more robust across
systems and compilers.
> it is because there's a configure test that goes amiss, probably because
> of the new default C dialect with GCC 15, possibly in relation to changes
Yes, C23 broke (among many other things) the longstanding practice of
providing fallback declarations with empty parens.
Thanks,
Karl