From eef5f997f18822b0c6aa92c34543a74dc8ad0450 Mon Sep 17 00:00:00 2001 From: Angus Leeming Date: Thu, 16 Dec 2004 01:03:34 +0000 Subject: [PATCH] An improved HAVE_MKDIR patch that compiles also with MinGW. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9385 a592a061-630c-0410-9148-cb99ea01b6c8 --- ChangeLog | 5 +++++ configure.ac | 14 -------------- src/support/ChangeLog | 5 +++++ src/support/mkdir.C | 15 +++++++++++++++ 4 files changed, 25 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index ea2c834d20..8b6e4fbb30 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-12-16 Angus Leeming + + * configure.ac: remove the HAVE_MKDIR conditional code to + src/support/mkdir.C + 2004-12-15 Angus Leeming * configure.ac: add AC_FUNC_MKDIR test and code to diff --git a/configure.ac b/configure.ac index 08a2786489..cdb0941a9e 100644 --- a/configure.ac +++ b/configure.ac @@ -357,20 +357,6 @@ int mkstemp(char*); #endif #endif -#if HAVE_MKDIR -# if MKDIR_TAKES_ONE_ARG - /* MinGW32 */ -# define mkdir(a, b) mkdir(a) -# endif -#else -# if HAVE__MKDIR - /* plain Windows 32 */ -# define mkdir(a, b) _mkdir(a) -# else -# error "Don't know how to create a directory on this system." -# endif -#endif - #ifdef __EMX__ #include "support/os2_defines.h" #endif diff --git a/src/support/ChangeLog b/src/support/ChangeLog index d766ceb165..0587d5d462 100644 --- a/src/support/ChangeLog +++ b/src/support/ChangeLog @@ -1,3 +1,8 @@ +2004-12-16 Angus Leeming + + * mkdir.C: move the HAVE_MKDIR conditional code out of config.h + and into here. + 2004-12-15 Angus Leeming * FileInfo.[Ch] (getNumberOfLinks): removed. diff --git a/src/support/mkdir.C b/src/support/mkdir.C index 21e4b0679c..cab93d0bad 100644 --- a/src/support/mkdir.C +++ b/src/support/mkdir.C @@ -20,5 +20,20 @@ int lyx::support::mkdir(std::string const & pathname, unsigned long int mode) { // FIXME: why don't we have mode_t in lyx::mkdir prototype ?? +#if HAVE_MKDIR +# if MKDIR_TAKES_ONE_ARG + // MinGW32 + return ::mkdir(pathname.c_str()); +# else + // POSIX return ::mkdir(pathname.c_str(), mode_t(mode)); +# endif +#else +# if HAVE__MKDIR + // plain Windows 32 + return ::_mkdir(pathname.c_str()); +# else +# error "Don't know how to create a directory on this system." +# endif +#endif } -- 2.39.2