I was using strdup and it triggered this warning in gnulib:
_GL_WARN_ON_USE (strdup, "strdup is unportable - "
"use gnulib module strdup for portability");
However the strdup module is deprecated according to modules/strdup:
This module is obsolete. But you may want to use the strdup-posix module.
So string.h should probably point to strdup-posix?
But what is the purpose of the strdup module then? According to
http://www.gnu.org/software/gnulib/manual/html_node/strdup.html
the difference is that strdup-posix also sets errno correctly on mingw
but the strdup module does not fix that bug.
Can't we just rename strdup-posix to strdup?
If the dependency on malloc-posix module is the problem, strdup.c could
easily set errno itself if it gets a NULL back from malloc, couldn't it?
I suspect strdup is one of the initial modules a new gnulib user would
import, so this complexity might be confusing and I don't see the gain.
/Simon