aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2017-09-20 14:05:39 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2017-09-20 14:34:18 +0300
commit33c0a040a724970b803a22fb53c2a59ebb77dc2e (patch)
tree51867a72a687eee4f93a7d1a300d0c585282d88d
parent54fae3a9ca0af5ab29cc02d9c91fc2c63c6bc872 (diff)
Fix MinGW GCC print format warnings
-rw-r--r--libpkgconf/stdinc.h7
-rw-r--r--libpkgconf/stdinc.h.orig59
2 files changed, 64 insertions, 2 deletions
diff --git a/libpkgconf/stdinc.h b/libpkgconf/stdinc.h
index 43d7eeb..a4c7c84 100644
--- a/libpkgconf/stdinc.h
+++ b/libpkgconf/stdinc.h
@@ -31,10 +31,13 @@
# include <windows.h>
# include <malloc.h>
# define PATH_DEV_NULL "nul"
+/*
+ * Fix MinGW GCC print format warnings (issue #142 is reported).
+ */
# ifdef _WIN64
-# define SIZE_FMT_SPECIFIER "%llu"
+# define SIZE_FMT_SPECIFIER "%I64u"
# else
-# define SIZE_FMT_SPECIFIER "%lu"
+# define SIZE_FMT_SPECIFIER "%u"
# endif
# ifndef ssize_t
# ifndef __MINGW32__
diff --git a/libpkgconf/stdinc.h.orig b/libpkgconf/stdinc.h.orig
new file mode 100644
index 0000000..43d7eeb
--- /dev/null
+++ b/libpkgconf/stdinc.h.orig
@@ -0,0 +1,59 @@
+/*
+ * stdinc.h
+ * pull in standard headers (including portability hacks)
+ *
+ * Copyright (c) 2012 pkgconf authors (see AUTHORS).
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * This software is provided 'as is' and without any warranty, express or
+ * implied. In no event shall the authors be liable for any damages arising
+ * from the use of this software.
+ */
+
+#ifndef __STDINC_H
+#define __STDINC_H
+
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <stdbool.h>
+#include <stdarg.h>
+#include <string.h>
+#include <sys/types.h>
+#include <stdint.h>
+
+#ifdef _WIN32
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+# include <malloc.h>
+# define PATH_DEV_NULL "nul"
+# ifdef _WIN64
+# define SIZE_FMT_SPECIFIER "%llu"
+# else
+# define SIZE_FMT_SPECIFIER "%lu"
+# endif
+# ifndef ssize_t
+# ifndef __MINGW32__
+# include <BaseTsd.h>
+# else
+# include <basetsd.h>
+# endif
+# define ssize_t SSIZE_T
+# endif
+# ifndef __MINGW32__
+# include "win-dirent.h"
+# else
+# include <dirent.h>
+# endif
+#else
+# define PATH_DEV_NULL "/dev/null"
+# define SIZE_FMT_SPECIFIER "%zu"
+# include <dirent.h>
+# include <unistd.h>
+#endif
+
+#endif