[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 5/8] Test for number of mkdir() arguments
From: |
Ladislav Michl |
Subject: |
Re: [PATCH 5/8] Test for number of mkdir() arguments |
Date: |
Mon, 3 Dec 2018 21:26:42 +0100 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
Paweł,
there's an issue with changes like that one bellow.
Currently each file including compat.h have to include
config.h before on its own. That does not sound too
convenient and is quite error prone as I just found
testing mkdir patch on more configurations.
So what about this change:
diff --git a/include/compat.h b/include/compat.h
index 8711c425..60974344 100644
--- a/include/compat.h
+++ b/include/compat.h
@@ -18,6 +18,17 @@
#ifndef _gnokii_compat_h
#define _gnokii_compat_h
+#if defined(HAVE_CONFIG_H)
+# include "config.h"
+
+#elif defined(WIN32) && defined(_MSC_VER)
+# include "windows-config.h"
+
+#else
+# error "compat.h requires config.h"
+
+#endif
+
#include <stdlib.h>
#include <stdio.h>
Perhaps ommiting windows-config.h part in the first round.
Then we could delete config.h include from each file which
also include compat.h. That is... almost each file.
Objections?
On Mon, Dec 03, 2018 at 10:42:06AM +0100, Ladislav Michl wrote:
> Windows' mkdir() takes only 1 argument, so add a test for that.
> ---
> configure.ac | 1 +
> include/compat.h | 15 ++++++++++++++-
> 2 files changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/configure.ac b/configure.ac
> index 379c7412..cd2064dd 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -902,6 +902,7 @@ AC_PROG_GCC_TRADITIONAL
> AC_FUNC_MEMCMP
> AC_TYPE_SIGNAL
> AC_FUNC_STRFTIME
> +AC_FUNC_MKDIR
> AC_CHECK_FUNCS(mktime timegm gettimeofday select poll wcrtomb)
> AC_CHECK_FUNCS(strchr strdup strndup strstr strtol strtok strsep)
> AC_CHECK_FUNCS(asprintf vasprintf snprintf vsnprintf getpass setenv)
> diff --git a/include/compat.h b/include/compat.h
> index 009f5f0e..8711c425 100644
> --- a/include/compat.h
> +++ b/include/compat.h
> @@ -199,6 +199,20 @@ int vasprintf(char **ptr, const char *format, va_list
> ap);
> time_t timegm(struct tm *tm);
> #endif
>
> +#if HAVE_MKDIR
> +# if MKDIR_TAKES_ONE_ARG
> + /* Mingw32 */
> +# define mkdir(a,b) mkdir(a)
> +# endif
> +#else
> +# if HAVE__MKDIR
> + /* plain Win32 */
> +# define mkdir(a,b) _mkdir(a)
> +# else
> +# error "Don't know how to create a directory on this system."
> +# endif
> +#endif
> +
> /*
> * The following code was taken from W. Richard Stevens'
> * "UNIX Network Programming", Volume 1, Second Edition.
> @@ -219,7 +233,6 @@ time_t timegm(struct tm *tm);
> #ifdef WIN32
> # ifdef _MSC_VER
> # define inline __inline
> -# define mkdir(dirname, accessrights) _mkdir(dirname)
> # define strcasecmp _stricmp
> # define strncasecmp _strnicmp
> # define __const const
> --
> 2.20.0.rc1
>
>
> _______________________________________________
> gnokii-users mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/gnokii-users
- Re: [PATCH 3/8] Remove some unnecessary #ifndef WIN32, (continued)
[PATCH 2/8] Use lower case for Win32 includes, Ladislav Michl, 2018/12/03
[PATCH 1/8] Use the native autoconf support for cross-compilation, Ladislav Michl, 2018/12/03
[PATCH 5/8] Test for number of mkdir() arguments, Ladislav Michl, 2018/12/03
- Re: [PATCH 5/8] Test for number of mkdir() arguments,
Ladislav Michl <=
[PATCH 4/8] Update snprintf.c, Ladislav Michl, 2018/12/03
[PATCH 7/8] Use posix_spawn to run external scripts, Ladislav Michl, 2018/12/03
[PATCH 6/8] Fix compat.c compilation with mingw32, Ladislav Michl, 2018/12/03
[PATCH 8/8] Refactor devices build, Ladislav Michl, 2018/12/03