raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=20b38ad447a1014587ed9ea2e73bf817aa446b31

commit 20b38ad447a1014587ed9ea2e73bf817aa446b31
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Wed May 8 14:00:47 2019 +0100

    Revert "Evil: remove localtime_r as mingw-w64 defines it when 
_POSIX_C_SOURCE is defined"
    
    This reverts commit a4c44e5e744dba15dfe512668127906afd4b6dba.
    
    this breaks on osx it seems... :(
---
 configure.ac                      |  1 -
 meson.build                       |  1 -
 src/lib/evil/evil_macro_wrapper.h | 14 ++++++++++++++
 src/lib/evil/evil_time.c          | 10 ++++++++++
 src/lib/evil/evil_time.h          | 23 ++++++++++++++++++++---
 5 files changed, 44 insertions(+), 5 deletions(-)

diff --git a/configure.ac b/configure.ac
index 5b64175c81..57ae1f51a5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -265,7 +265,6 @@ case "$host_vendor" in
    ;;
 esac
 
-AC_DEFINE([_POSIX_C_SOURCE], [1], [Define the POSIX version])
 AC_SUBST([MODULE_ARCH])
 AC_DEFINE_UNQUOTED([MODULE_ARCH], ["${MODULE_ARCH}"], ["Module architecture"])
 AC_DEFINE_UNQUOTED([SHARED_LIB_SUFFIX], ["${MODULE_EXT}"], [Suffix for shared 
objects])
diff --git a/meson.build b/meson.build
index b5856468cf..2595461c62 100644
--- a/meson.build
+++ b/meson.build
@@ -97,7 +97,6 @@ add_global_arguments(dev_cflags, language: 'cpp')
 foreach lang : ['c', 'objc', 'cpp']
   add_global_arguments('-DHAVE_CONFIG_H=1', language: lang)
   add_global_arguments('-D_GNU_SOURCE=1', language: lang)
-  add_global_arguments('-D_POSIX_C_SOURCE=1', language: lang)
   add_global_arguments('-DEFL_BETA_API_SUPPORT=1', language: lang)
   add_global_arguments('-DNEED_RUN_IN_TREE=1', language: lang)
   add_global_arguments('-DEFL_BUILD=1', language: lang)
diff --git a/src/lib/evil/evil_macro_wrapper.h 
b/src/lib/evil/evil_macro_wrapper.h
index cd650e5e12..19e68d3935 100644
--- a/src/lib/evil/evil_macro_wrapper.h
+++ b/src/lib/evil/evil_macro_wrapper.h
@@ -45,6 +45,20 @@
 #endif
 #define mkdir(dirname, mode) evil_mkdir(dirname, mode)
 
+/*
+ * evil_time.h
+ */
+
+/**
+ * @def localtime_r(t, r)
+ *
+ * Wrapper around evil_localtime_r().
+ */
+#ifdef localtime_r
+# undef localtime_r
+#endif
+#define localtime_r(t, r) evil_localtime_r(t, r)
+
 /*
  * evil_unistd.h
  */
diff --git a/src/lib/evil/evil_time.c b/src/lib/evil/evil_time.c
index 90b63692fc..76c5a58657 100644
--- a/src/lib/evil/evil_time.c
+++ b/src/lib/evil/evil_time.c
@@ -12,6 +12,16 @@
 #include "evil_macro_wrapper.h"
 #include "evil_private.h"
 
+struct tm *
+evil_localtime_r(const time_t *timep, struct tm *result)
+{
+   __time64_t t = *timep;
+
+   _localtime64_s(result, &t);
+
+   return result;
+}
+
 /*
  * strptime
  * based on 
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/time/strptime.c?rev=HEAD
diff --git a/src/lib/evil/evil_time.h b/src/lib/evil/evil_time.h
index 00f538cae7..34607de5d1 100644
--- a/src/lib/evil/evil_time.h
+++ b/src/lib/evil/evil_time.h
@@ -2,9 +2,6 @@
 #define __EVIL_TIME_H__
 
 
-#include <time.h>
-
-
 /**
  * @file evil_time.h
  * @brief The file that provides functions ported from Unix in time.h.
@@ -17,6 +14,26 @@
  */
 
 
+/**
+ * @brief Convert the calendar time to broken-time representation in a
+ * user supplied data.
+ *
+ * @param timep The calender time.
+ * @param result The broken-down time representation.
+ * @return The broken-down time representation.
+ *
+ * This function converts the calendar time @p timep to a broken-time
+ * representation. The result is stored in the buffer  @p result
+ * supplied by the user. If @p timep or @p result are @c NULL, or if
+ * an error occurred, this function returns @c NULL and the values in
+ * @p result might be undefined. Otherwise it returns @p result.
+ *
+ * Conformity: Non applicable.
+ *
+ * Supported OS: Windows XP.
+ */
+EAPI struct tm *evil_localtime_r(const time_t *timep, struct tm *result);
+
 /**
  * @brief Convert a string representation of time to a time tm structure .
  *

-- 


Reply via email to