mkdir
=====

POSIX specification:
 https://pubs.opengroup.org/onlinepubs/9699919799/functions/mkdir.html

Gnulib module: sys_stat or mkdir

Portability problems fixed by either Gnulib module sys_stat or mkdir:

  * This function is declared in different header files (namely, <io.h> or <direct.h>) on some platforms: mingw, MSVC 14.

  * On Windows platforms (excluding Cygwin), this function is called _mkdir and takes only one argument.  The fix (without Gnulib) is to define a macro like this:

          #define mkdir ((int (*)()) _mkdir)

     or

          #define mkdir(path,mode) _mkdir (path)

Portability problems fixed by Gnulib module mkdir:

  * When the argument ends in a slash, the function call fails on some platforms.

  * This function mistakenly succeeds on mkdir("d/./",mode) on some platforms: Cygwin 1.5.x, mingw, MSVC 14.

Portability problems not fixed by Gnulib: