This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Merge pull request #71 from richardleach/patch-1
[metaconfig.git] / U / threads / d_localtime_r.U
index f7f3aa0..53fa397 100644 (file)
@@ -9,7 +9,7 @@
 ?RCS:
 ?MAKE:d_localtime_r d_localtime_r_needs_tzset localtime_r_proto: Inlibc \
        cat run Protochk Hasproto i_systypes usethreads i_time i_systime \
-       rm_try Compile extern_C i_stdlib i_unistd i_string i_malloc
+       rm_try Compile extern_C i_stdlib i_unistd i_malloc
 ?MAKE: -pick add $@ %<
 ?S:d_localtime_r:
 ?S:    This variable conditionally defines the HAS_LOCALTIME_R symbol,
@@ -52,8 +52,8 @@
 ?C:    REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
 ?C:    is defined.
 ?C:.
-?H:#$d_localtime_r HAS_LOCALTIME_R        /**/
-?H:#define LOCALTIME_R_PROTO $localtime_r_proto           /**/
+?H:#$d_localtime_r HAS_LOCALTIME_R     /**/
+?H:#define LOCALTIME_R_PROTO $localtime_r_proto        /**/
 ?H:.
 ?T:try hdrs d_localtime_r_proto
 ?F:!try
@@ -81,7 +81,7 @@ case "$d_localtime_r" in
        esac
        case "$localtime_r_proto" in
        ''|0)   d_localtime_r=undef
-               localtime_r_proto=0
+               localtime_r_proto=0
                echo "Disabling localtime_r, cannot determine prototype." >&4 ;;
        * )     case "$localtime_r_proto" in
                REENTRANT_PROTO*) ;;
@@ -113,7 +113,6 @@ REENTRANT_PROTO*)
 #$i_unistd     I_UNISTD
 #$i_time       I_TIME
 #$i_stdlib     I_STDLIB
-#$i_string     I_STRING
 #$i_malloc     I_MALLOC
 #ifdef I_SYS_TYPES
 #  include <sys/types.h>
@@ -127,16 +126,13 @@ REENTRANT_PROTO*)
 #ifdef I_STDLIB
 #include <stdlib.h>
 #endif
-#ifdef I_STRING
-#  include <string.h>
-#else
-#  include <strings.h>
-#endif
+#include <string.h>
 #ifdef I_MALLOC
 #  include <malloc.h>
 #endif
 int main()
 {
+    int result = 0;
     time_t t = time(0L);
     char w_tz[]="TZ" "=GMT+5",
         e_tz[]="TZ" "=GMT-5",
@@ -155,8 +151,10 @@ int main()
     localtime_r(&t, &tm_w);
 
     if( memcmp(&tm_e, &tm_w, sizeof(struct tm)) == 0 )
-       return 1;
-    return 0;
+       result = 1;
+
+    free(tz_e);free(tz_w);
+    return result;
 }
 EOCP
        set try