In perl.git, the branch blead has been updated

<https://perl5.git.perl.org/perl.git/commitdiff/17154110146fd1d2f11d4879051bb9dd2e0c653f?hp=8639f1585e4923c07198d76cd0bd4c39158d12ac>

- Log -----------------------------------------------------------------
commit 17154110146fd1d2f11d4879051bb9dd2e0c653f
Merge: 8639f1585e d9cf960ca3
Author: Tony Cook <t...@develop-help.com>
Date:   Thu Aug 15 14:17:49 2019 +1000

    Cleanup Time::HiRes

commit d9cf960ca31df94beab2ff4ca45a0e5298ad0369
Author: Tony Cook <t...@develop-help.com>
Date:   Thu Aug 15 14:16:19 2019 +1000

    bump $Time::HiRes::VERSION

commit 3d8123f41098596f513aad80f45d84d9e4423d53
Author: Tomasz Konojacki <m...@xenu.pl>
Date:   Tue Jul 16 01:42:07 2019 +0200

    Time::HiRes: remove workaround for an ancient Devel::PPPort bug
    
    It was fixed in Devel::PPPort 3.13_02.
    
    [perl #134288]

commit d849ce1d5a905783e7b598fe7352794274b9c61c
Author: Tomasz Konojacki <m...@xenu.pl>
Date:   Mon Jul 15 23:44:08 2019 +0200

    Time::HiRes: remove the remains of MacOS classic support
    
    Perl dropped MacOS classic support ages ago.
    
    [perl #134288]

commit 6abf31dff474e18c0edb8741e9ab319599bf6894
Author: Tomasz Konojacki <m...@xenu.pl>
Date:   Mon Jul 15 23:36:40 2019 +0200

    Time::HiRes: remove code for perls older than 5.6
    
    Both Makefile.PL and HiRes.pm contain "use 5.006", so it was dead
    code anyway.
    
    [perl #134288]

commit 708180a33d23470bc69d1bb1cd9ef17cc3198a68
Author: Tomasz Konojacki <m...@xenu.pl>
Date:   Mon Jul 15 06:57:48 2019 +0200

    Time::HiRes: normalize indentation
    
    The indendation style now (roughly) matches what was specified
    in the style guide in perlhack.
    
    This commit doesn't contain any functional changes. If you're
    seeing it in "git blame" output, try using -w switch, it will
    hide whitespace-only changes.
    
    [perl #134288]

-----------------------------------------------------------------------

Summary of changes:
 dist/Time-HiRes/HiRes.pm         |  112 +--
 dist/Time-HiRes/HiRes.xs         | 1620 ++++++++++++++++++--------------------
 dist/Time-HiRes/Makefile.PL      |  671 ++++++++--------
 dist/Time-HiRes/t/Watchdog.pm    |   54 +-
 dist/Time-HiRes/t/alarm.t        |  204 ++---
 dist/Time-HiRes/t/clock.t        |   62 +-
 dist/Time-HiRes/t/gettimeofday.t |    6 +-
 dist/Time-HiRes/t/itimer.t       |   18 +-
 dist/Time-HiRes/t/nanosleep.t    |    6 +-
 dist/Time-HiRes/t/sleep.t        |    6 +-
 dist/Time-HiRes/t/stat.t         |   20 +-
 dist/Time-HiRes/t/time.t         |    6 +-
 dist/Time-HiRes/t/ualarm.t       |   60 +-
 dist/Time-HiRes/t/usleep.t       |   14 +-
 dist/Time-HiRes/t/utime.t        |  304 +++----
 dist/Time-HiRes/typemap          |  454 +++++------
 16 files changed, 1758 insertions(+), 1859 deletions(-)

diff --git a/dist/Time-HiRes/HiRes.pm b/dist/Time-HiRes/HiRes.pm
index d33a28b2a9..07b0707339 100644
--- a/dist/Time-HiRes/HiRes.pm
+++ b/dist/Time-HiRes/HiRes.pm
@@ -11,46 +11,46 @@ our @ISA = qw(Exporter);
 our @EXPORT = qw( );
 # More or less this same list is in Makefile.PL.  Should unify.
 our @EXPORT_OK = qw (usleep sleep ualarm alarm gettimeofday time tv_interval
-                getitimer setitimer nanosleep clock_gettime clock_getres
-                clock clock_nanosleep
-                CLOCKS_PER_SEC
-                CLOCK_BOOTTIME
-                CLOCK_HIGHRES
-                CLOCK_MONOTONIC
-                CLOCK_MONOTONIC_COARSE
-                CLOCK_MONOTONIC_FAST
-                CLOCK_MONOTONIC_PRECISE
-                CLOCK_MONOTONIC_RAW
-                CLOCK_PROCESS_CPUTIME_ID
-                CLOCK_PROF
-                CLOCK_REALTIME
-                CLOCK_REALTIME_COARSE
-                CLOCK_REALTIME_FAST
-                CLOCK_REALTIME_PRECISE
-                CLOCK_REALTIME_RAW
-                CLOCK_SECOND
-                CLOCK_SOFTTIME
-                CLOCK_THREAD_CPUTIME_ID
-                CLOCK_TIMEOFDAY
-                CLOCK_UPTIME
-                CLOCK_UPTIME_COARSE
-                CLOCK_UPTIME_FAST
-                CLOCK_UPTIME_PRECISE
-                CLOCK_UPTIME_RAW
-                CLOCK_VIRTUAL
-                ITIMER_PROF
-                ITIMER_REAL
-                ITIMER_REALPROF
-                ITIMER_VIRTUAL
-                TIMER_ABSTIME
-                d_usleep d_ualarm d_gettimeofday d_getitimer d_setitimer
-                d_nanosleep d_clock_gettime d_clock_getres
-                d_clock d_clock_nanosleep d_hires_stat
-                d_futimens d_utimensat d_hires_utime
-                stat lstat utime
-               );
-
-our $VERSION = '1.9761';
+                 getitimer setitimer nanosleep clock_gettime clock_getres
+                 clock clock_nanosleep
+                 CLOCKS_PER_SEC
+                 CLOCK_BOOTTIME
+                 CLOCK_HIGHRES
+                 CLOCK_MONOTONIC
+                 CLOCK_MONOTONIC_COARSE
+                 CLOCK_MONOTONIC_FAST
+                 CLOCK_MONOTONIC_PRECISE
+                 CLOCK_MONOTONIC_RAW
+                 CLOCK_PROCESS_CPUTIME_ID
+                 CLOCK_PROF
+                 CLOCK_REALTIME
+                 CLOCK_REALTIME_COARSE
+                 CLOCK_REALTIME_FAST
+                 CLOCK_REALTIME_PRECISE
+                 CLOCK_REALTIME_RAW
+                 CLOCK_SECOND
+                 CLOCK_SOFTTIME
+                 CLOCK_THREAD_CPUTIME_ID
+                 CLOCK_TIMEOFDAY
+                 CLOCK_UPTIME
+                 CLOCK_UPTIME_COARSE
+                 CLOCK_UPTIME_FAST
+                 CLOCK_UPTIME_PRECISE
+                 CLOCK_UPTIME_RAW
+                 CLOCK_VIRTUAL
+                 ITIMER_PROF
+                 ITIMER_REAL
+                 ITIMER_REALPROF
+                 ITIMER_VIRTUAL
+                 TIMER_ABSTIME
+                 d_usleep d_ualarm d_gettimeofday d_getitimer d_setitimer
+                 d_nanosleep d_clock_gettime d_clock_getres
+                 d_clock d_clock_nanosleep d_hires_stat
+                 d_futimens d_utimensat d_hires_utime
+                 stat lstat utime
+                );
+
+our $VERSION = '1.9762';
 our $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
@@ -67,8 +67,8 @@ sub AUTOLOAD {
         die "$error at $file line $line.\n";
     }
     {
-       no strict 'refs';
-       *$AUTOLOAD = sub { $val };
+        no strict 'refs';
+        *$AUTOLOAD = sub { $val };
     }
     goto &$AUTOLOAD;
 }
@@ -76,17 +76,17 @@ sub AUTOLOAD {
 sub import {
     my $this = shift;
     for my $i (@_) {
-       if (($i eq 'clock_getres'    && !&d_clock_getres)    ||
-           ($i eq 'clock_gettime'   && !&d_clock_gettime)   ||
-           ($i eq 'clock_nanosleep' && !&d_clock_nanosleep) ||
-           ($i eq 'clock'           && !&d_clock)           ||
-           ($i eq 'nanosleep'       && !&d_nanosleep)       ||
-           ($i eq 'usleep'          && !&d_usleep)          ||
-           ($i eq 'utime'           && !&d_hires_utime)     ||
-           ($i eq 'ualarm'          && !&d_ualarm)) {
-           require Carp;
-           Carp::croak("Time::HiRes::$i(): unimplemented in this platform");
-       }
+        if (($i eq 'clock_getres'    && !&d_clock_getres)    ||
+            ($i eq 'clock_gettime'   && !&d_clock_gettime)   ||
+            ($i eq 'clock_nanosleep' && !&d_clock_nanosleep) ||
+            ($i eq 'clock'           && !&d_clock)           ||
+            ($i eq 'nanosleep'       && !&d_nanosleep)       ||
+            ($i eq 'usleep'          && !&d_usleep)          ||
+            ($i eq 'utime'           && !&d_hires_utime)     ||
+            ($i eq 'ualarm'          && !&d_ualarm)) {
+            require Carp;
+            Carp::croak("Time::HiRes::$i(): unimplemented in this platform");
+        }
     }
     Time::HiRes->export_to_level(1, $this, @_);
 }
@@ -114,7 +114,7 @@ Time::HiRes - High resolution alarm, sleep, gettimeofday, 
interval timers
 =head1 SYNOPSIS
 
   use Time::HiRes qw( usleep ualarm gettimeofday tv_interval nanosleep
-                     clock_gettime clock_getres clock_nanosleep clock
+                      clock_gettime clock_getres clock_nanosleep clock
                       stat lstat utime);
 
   usleep ($microseconds);
@@ -143,7 +143,7 @@ Time::HiRes - High resolution alarm, sleep, gettimeofday, 
interval timers
   getitimer ($which);
 
   use Time::HiRes qw( clock_gettime clock_getres clock_nanosleep
-                     ITIMER_REAL ITIMER_VIRTUAL ITIMER_PROF
+                      ITIMER_REAL ITIMER_VIRTUAL ITIMER_PROF
                       ITIMER_REALPROF );
 
   $realtime   = clock_gettime(CLOCK_REALTIME);
@@ -528,7 +528,7 @@ Returns the number of files successfully changed.
   $t0_t1 = tv_interval $t0, $t1;
 
   $elapsed = tv_interval ($t0, [gettimeofday]);
-  $elapsed = tv_interval ($t0);        # equivalent code
+  $elapsed = tv_interval ($t0); # equivalent code
 
   #
   # replacements for time, alarm and sleep that know about
diff --git a/dist/Time-HiRes/HiRes.xs b/dist/Time-HiRes/HiRes.xs
index 97e870c788..836e0c598a 100644
--- a/dist/Time-HiRes/HiRes.xs
+++ b/dist/Time-HiRes/HiRes.xs
@@ -1,12 +1,12 @@
 /*
- * 
+ *
  * Copyright (c) 1996-2002 Douglas E. Wegscheid.  All rights reserved.
- * 
+ *
  * Copyright (c) 2002-2010 Jarkko Hietaniemi.
  * All rights reserved.
  *
  * Copyright (C) 2011, 2012, 2013 Andrew Main (Zefram) <zef...@fysh.org>
- * 
+ *
  * This program is free software; you can redistribute it and/or modify
  * it under the same terms as Perl itself.
  */
@@ -22,21 +22,21 @@ extern "C" {
 #  include "ppport.h"
 #endif
 #if defined(__CYGWIN__) && defined(HAS_W32API_WINDOWS_H)
-# include <w32api/windows.h>
-# define CYGWIN_WITH_W32API
+#  include <w32api/windows.h>
+#  define CYGWIN_WITH_W32API
 #endif
 #ifdef WIN32
-# include <time.h>
+#  include <time.h>
 #else
-# include <sys/time.h>
+#  include <sys/time.h>
 #endif
 #ifdef HAS_SELECT
-# ifdef I_SYS_SELECT
-#  include <sys/select.h>
-# endif
+#  ifdef I_SYS_SELECT
+#    include <sys/select.h>
+#  endif
 #endif
 #if defined(TIME_HIRES_CLOCK_GETTIME_SYSCALL) || 
defined(TIME_HIRES_CLOCK_GETRES_SYSCALL)
-#include <syscall.h>
+#  include <syscall.h>
 #endif
 #ifdef __cplusplus
 }
@@ -44,29 +44,22 @@ extern "C" {
 
 #define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
 #define PERL_DECIMAL_VERSION \
-       PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
+        PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
 #define PERL_VERSION_GE(r,v,s) \
-       (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
+        (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
 
 #ifndef GCC_DIAG_IGNORE
-# define GCC_DIAG_IGNORE(x)
-# define GCC_DIAG_RESTORE
+#  define GCC_DIAG_IGNORE(x)
+#  define GCC_DIAG_RESTORE
 #endif
 #ifndef GCC_DIAG_IGNORE_STMT
-# define GCC_DIAG_IGNORE_STMT(x) GCC_DIAG_IGNORE(x) NOOP
-# define GCC_DIAG_RESTORE_STMT GCC_DIAG_RESTORE NOOP
-#endif
-
-/* At least ppport.h 3.13 gets this wrong: one really cannot
- * have NVgf as anything else than "g" under Perl 5.6.x. */
-#if PERL_REVISION == 5 && PERL_VERSION == 6
-# undef NVgf
-# define NVgf "g"
+#  define GCC_DIAG_IGNORE_STMT(x) GCC_DIAG_IGNORE(x) NOOP
+#  define GCC_DIAG_RESTORE_STMT GCC_DIAG_RESTORE NOOP
 #endif
 
 #if PERL_VERSION_GE(5,7,3) && !PERL_VERSION_GE(5,10,1)
-# undef SAVEOP
-# define SAVEOP() SAVEVPTR(PL_op)
+#  undef SAVEOP
+#  define SAVEOP() SAVEVPTR(PL_op)
 #endif
 
 #define IV_1E6 1000000
@@ -78,14 +71,14 @@ extern "C" {
 #define NV_1E9 1000000000.0
 
 #ifndef PerlProc_pause
-#   define PerlProc_pause() Pause()
+#  define PerlProc_pause() Pause()
 #endif
 
 #ifdef HAS_PAUSE
-#   define Pause   pause
+#  define Pause   pause
 #else
-#   undef Pause /* In case perl.h did it already. */
-#   define Pause() sleep(~0) /* Zzz for a long time. */
+#  undef Pause /* In case perl.h did it already. */
+#  define Pause() sleep(~0) /* Zzz for a long time. */
 #endif
 
 /* Though the cpp define ITIMER_VIRTUAL is available the functionality
@@ -93,9 +86,9 @@ extern "C" {
  * Neither are ITIMER_PROF or ITIMER_REALPROF implemented.  --jhi
  */
 #if defined(__CYGWIN__) || defined(WIN32)
-#   undef ITIMER_VIRTUAL
-#   undef ITIMER_PROF
-#   undef ITIMER_REALPROF
+#  undef ITIMER_VIRTUAL
+#  undef ITIMER_PROF
+#  undef ITIMER_REALPROF
 #endif
 
 #ifndef TIME_HIRES_CLOCKID_T
@@ -106,37 +99,37 @@ typedef int clockid_t;
 
 /* HP-UX has CLOCK_XXX values but as enums, not as defines.
  * The only way to detect these would be to test compile for each. */
-# ifdef __hpux
+#  ifdef __hpux
 /* However, it seems that at least in HP-UX 11.31 ia64 there *are*
  * defines for these, so let's try detecting them. */
-#  ifndef CLOCK_REALTIME
-#    define CLOCK_REALTIME CLOCK_REALTIME
-#    define CLOCK_VIRTUAL  CLOCK_VIRTUAL
-#    define CLOCK_PROFILE  CLOCK_PROFILE
-#  endif
-# endif /* # ifdef __hpux */
+#    ifndef CLOCK_REALTIME
+#      define CLOCK_REALTIME CLOCK_REALTIME
+#      define CLOCK_VIRTUAL  CLOCK_VIRTUAL
+#      define CLOCK_PROFILE  CLOCK_PROFILE
+#    endif
+#  endif /* # ifdef __hpux */
 
 #endif /* #if defined(TIME_HIRES_CLOCK_GETTIME) && defined(_STRUCT_ITIMERSPEC) 
*/
 
 #if defined(WIN32) || defined(CYGWIN_WITH_W32API)
 
-#ifndef HAS_GETTIMEOFDAY
-#   define HAS_GETTIMEOFDAY
-#endif
+#  ifndef HAS_GETTIMEOFDAY
+#    define HAS_GETTIMEOFDAY
+#  endif
 
 /* shows up in winsock.h?
 struct timeval {
- long tv_sec;
- long tv_usec;
+    long tv_sec;
+    long tv_usec;
 }
 */
 
 typedef union {
-    unsigned __int64   ft_i64;
-    FILETIME           ft_val;
+    unsigned __int64    ft_i64;
+    FILETIME            ft_val;
 } FT_t;
 
-#define MY_CXT_KEY "Time::HiRes_" XS_VERSION
+#  define MY_CXT_KEY "Time::HiRes_" XS_VERSION
 
 typedef struct {
     unsigned long run_count;
@@ -149,24 +142,24 @@ typedef struct {
 START_MY_CXT
 
 /* Number of 100 nanosecond units from 1/1/1601 to 1/1/1970 */
-#ifdef __GNUC__
-# define Const64(x) x##LL
-#else
-# define Const64(x) x##i64
-#endif
-#define EPOCH_BIAS  Const64(116444736000000000)
-
-#ifdef Const64
-# ifdef __GNUC__
-#  define IV_1E6LL  1000000LL /* Needed because of Const64() ##-appends LL (or 
i64). */
-#  define IV_1E7LL  10000000LL
-#  define IV_1E9LL  1000000000LL
-# else
-#  define IV_1E6i64 1000000i64
-#  define IV_1E7i64 10000000i64
-#  define IV_1E9i64 1000000000i64
-# endif
-#endif
+#  ifdef __GNUC__
+#    define Const64(x) x##LL
+#  else
+#    define Const64(x) x##i64
+#  endif
+#  define EPOCH_BIAS  Const64(116444736000000000)
+
+#  ifdef Const64
+#    ifdef __GNUC__
+#      define IV_1E6LL  1000000LL /* Needed because of Const64() ##-appends LL 
(or i64). */
+#      define IV_1E7LL  10000000LL
+#      define IV_1E9LL  1000000000LL
+#    else
+#      define IV_1E6i64 1000000i64
+#      define IV_1E7i64 10000000i64
+#      define IV_1E9i64 1000000000i64
+#    endif
+#  endif
 
 /* NOTE: This does not compute the timezone info (doing so can be expensive,
  * and appears to be unsupported even by glibc) */
@@ -174,17 +167,17 @@ START_MY_CXT
 /* dMY_CXT needs a Perl context and we don't want to call PERL_GET_CONTEXT
    for performance reasons */
 
-#undef gettimeofday
-#define gettimeofday(tp, not_used) _gettimeofday(aTHX_ tp, not_used)
+#  undef gettimeofday
+#  define gettimeofday(tp, not_used) _gettimeofday(aTHX_ tp, not_used)
 
 /* If the performance counter delta drifts more than 0.5 seconds from the
  * system time then we recalibrate to the system time.  This means we may
  * move *backwards* in time! */
-#define MAX_PERF_COUNTER_SKEW Const64(5000000) /* 0.5 seconds */
+#  define MAX_PERF_COUNTER_SKEW Const64(5000000) /* 0.5 seconds */
 
 /* Reset reading from the performance counter every five minutes.
  * Many PC clocks just seem to be so bad. */
-#define MAX_PERF_COUNTER_TICKS Const64(300000000) /* 300 seconds */
+#  define MAX_PERF_COUNTER_TICKS Const64(300000000) /* 300 seconds */
 
 static int
 _gettimeofday(pTHX_ struct timeval *tp, void *not_used)
@@ -196,26 +189,27 @@ _gettimeofday(pTHX_ struct timeval *tp, void *not_used)
 
     PERL_UNUSED_ARG(not_used);
     if (MY_CXT.run_count++ == 0 ||
-       MY_CXT.base_systime_as_filetime.ft_i64 > MY_CXT.reset_time) {
+        MY_CXT.base_systime_as_filetime.ft_i64 > MY_CXT.reset_time) {
+
         QueryPerformanceFrequency((LARGE_INTEGER*)&MY_CXT.tick_frequency);
         QueryPerformanceCounter((LARGE_INTEGER*)&MY_CXT.base_ticks);
         GetSystemTimeAsFileTime(&MY_CXT.base_systime_as_filetime.ft_val);
         ft.ft_i64 = MY_CXT.base_systime_as_filetime.ft_i64;
-       MY_CXT.reset_time = ft.ft_i64 + MAX_PERF_COUNTER_TICKS;
+        MY_CXT.reset_time = ft.ft_i64 + MAX_PERF_COUNTER_TICKS;
     }
     else {
-       __int64 diff;
+        __int64 diff;
         QueryPerformanceCounter((LARGE_INTEGER*)&ticks);
         ticks -= MY_CXT.base_ticks;
         ft.ft_i64 = MY_CXT.base_systime_as_filetime.ft_i64
                     + Const64(IV_1E7) * (ticks / MY_CXT.tick_frequency)
                     +(Const64(IV_1E7) * (ticks % MY_CXT.tick_frequency)) / 
MY_CXT.tick_frequency;
-       diff = ft.ft_i64 - MY_CXT.base_systime_as_filetime.ft_i64;
-       if (diff < -MAX_PERF_COUNTER_SKEW || diff > MAX_PERF_COUNTER_SKEW) {
-           MY_CXT.base_ticks += ticks;
+        diff = ft.ft_i64 - MY_CXT.base_systime_as_filetime.ft_i64;
+        if (diff < -MAX_PERF_COUNTER_SKEW || diff > MAX_PERF_COUNTER_SKEW) {
+            MY_CXT.base_ticks += ticks;
             GetSystemTimeAsFileTime(&MY_CXT.base_systime_as_filetime.ft_val);
             ft.ft_i64 = MY_CXT.base_systime_as_filetime.ft_i64;
-       }
+        }
     }
 
     /* seconds since epoch */
@@ -226,54 +220,45 @@ _gettimeofday(pTHX_ struct timeval *tp, void *not_used)
 
     return 0;
 }
-#endif
-
-#if defined(WIN32) && !defined(ATLEASTFIVEOHOHFIVE)
-static unsigned int
-sleep(unsigned int t)
-{
-    Sleep(t*1000);
-    return 0;
-}
-#endif
+#endif /* #if defined(WIN32) || defined(CYGWIN_WITH_W32API) */
 
 #if !defined(HAS_GETTIMEOFDAY) && defined(VMS)
-#define HAS_GETTIMEOFDAY
-
-#include <lnmdef.h>
-#include <time.h> /* gettimeofday */
-#include <stdlib.h> /* qdiv */
-#include <starlet.h> /* sys$gettim */
-#include <descrip.h>
-#ifdef __VAX
-#include <lib$routines.h> /* lib$ediv() */
-#endif
+#  define HAS_GETTIMEOFDAY
+
+#  include <lnmdef.h>
+#  include <time.h> /* gettimeofday */
+#  include <stdlib.h> /* qdiv */
+#  include <starlet.h> /* sys$gettim */
+#  include <descrip.h>
+#  ifdef __VAX
+#    include <lib$routines.h> /* lib$ediv() */
+#  endif
 
 /*
         VMS binary time is expressed in 100 nano-seconds since
         system base time which is 17-NOV-1858 00:00:00.00
 */
 
-#define DIV_100NS_TO_SECS  10000000L
-#define DIV_100NS_TO_USECS 10L
+#  define DIV_100NS_TO_SECS  10000000L
+#  define DIV_100NS_TO_USECS 10L
 
-/* 
+/*
         gettimeofday is supposed to return times since the epoch
         so need to determine this in terms of VMS base time
 */
 static $DESCRIPTOR(dscepoch,"01-JAN-1970 00:00:00.00");
 
-#ifdef __VAX
+#  ifdef __VAX
 static long base_adjust[2]={0L,0L};
-#else
+#  else
 static __int64 base_adjust=0;
-#endif
+#  endif
 
-/* 
+/*
 
    If we don't have gettimeofday, then likely we are on a VMS machine that
    operates on local time rather than UTC...so we have to zone-adjust.
-   This code gleefully swiped from VMS.C 
+   This code gleefully swiped from VMS.C
 
 */
 /* method used to handle UTC conversions:
@@ -282,115 +267,115 @@ static __int64 base_adjust=0;
 static int gmtime_emulation_type;
 /* number of secs to add to UTC POSIX-style time to get local time */
 static long int utc_offset_secs;
-static struct dsc$descriptor_s fildevdsc = 
-  { 12, DSC$K_DTYPE_T, DSC$K_CLASS_S, "LNM$FILE_DEV" };
+static struct dsc$descriptor_s fildevdsc =
+    { 12, DSC$K_DTYPE_T, DSC$K_CLASS_S, "LNM$FILE_DEV" };
 static struct dsc$descriptor_s *fildev[] = { &fildevdsc, NULL };
 
 static time_t toutc_dst(time_t loc) {
-  struct tm *rsltmp;
+    struct tm *rsltmp;
 
-  if ((rsltmp = localtime(&loc)) == NULL) return -1;
-  loc -= utc_offset_secs;
-  if (rsltmp->tm_isdst) loc -= 3600;
-  return loc;
+    if ((rsltmp = localtime(&loc)) == NULL) return -1;
+    loc -= utc_offset_secs;
+    if (rsltmp->tm_isdst) loc -= 3600;
+    return loc;
 }
 
 static time_t toloc_dst(time_t utc) {
-  struct tm *rsltmp;
+    struct tm *rsltmp;
 
-  utc += utc_offset_secs;
-  if ((rsltmp = localtime(&utc)) == NULL) return -1;
-  if (rsltmp->tm_isdst) utc += 3600;
-  return utc;
+    utc += utc_offset_secs;
+    if ((rsltmp = localtime(&utc)) == NULL) return -1;
+    if (rsltmp->tm_isdst) utc += 3600;
+    return utc;
 }
 
-#define _toutc(secs)  ((secs) == (time_t) -1 ? (time_t) -1 : \
-       ((gmtime_emulation_type || timezone_setup()), \
-       (gmtime_emulation_type == 1 ? toutc_dst(secs) : \
-       ((secs) - utc_offset_secs))))
+#  define _toutc(secs)  ((secs) == (time_t) -1 ? (time_t) -1 : \
+          ((gmtime_emulation_type || timezone_setup()), \
+          (gmtime_emulation_type == 1 ? toutc_dst(secs) : \
+          ((secs) - utc_offset_secs))))
 
-#define _toloc(secs)  ((secs) == (time_t) -1 ? (time_t) -1 : \
-       ((gmtime_emulation_type || timezone_setup()), \
-       (gmtime_emulation_type == 1 ? toloc_dst(secs) : \
-       ((secs) + utc_offset_secs))))
+#  define _toloc(secs)  ((secs) == (time_t) -1 ? (time_t) -1 : \
+          ((gmtime_emulation_type || timezone_setup()), \
+          (gmtime_emulation_type == 1 ? toloc_dst(secs) : \
+          ((secs) + utc_offset_secs))))
 
 static int
-timezone_setup(void) 
+timezone_setup(void)
 {
-  struct tm *tm_p;
-
-  if (gmtime_emulation_type == 0) {
-    int dstnow;
-    time_t base = 15 * 86400; /* 15jan71; to avoid month/year ends between    
*/
-                              /* results of calls to gmtime() and localtime() 
*/
-                              /* for same &base */
+    struct tm *tm_p;
 
-    gmtime_emulation_type++;
-    if ((tm_p = gmtime(&base)) == NULL) { /* CRTL gmtime() is a fake */
-      char off[LNM$C_NAMLENGTH+1];;
+    if (gmtime_emulation_type == 0) {
+        int dstnow;
+        time_t base = 15 * 86400; /* 15jan71; to avoid month/year ends between 
   */
+                                  /* results of calls to gmtime() and 
localtime() */
+                                  /* for same &base */
 
-      gmtime_emulation_type++;
-      if (!Perl_vmstrnenv("SYS$TIMEZONE_DIFFERENTIAL",off,0,fildev,0)) {
         gmtime_emulation_type++;
-        utc_offset_secs = 0;
-        Perl_warn(aTHX_ "no UTC offset information; assuming local time is 
UTC");
-      }
-      else { utc_offset_secs = atol(off); }
-    }
-    else { /* We've got a working gmtime() */
-      struct tm gmt, local;
-
-      gmt = *tm_p;
-      tm_p = localtime(&base);
-      local = *tm_p;
-      utc_offset_secs  = (local.tm_mday - gmt.tm_mday) * 86400;
-      utc_offset_secs += (local.tm_hour - gmt.tm_hour) * 3600;
-      utc_offset_secs += (local.tm_min  - gmt.tm_min)  * 60;
-      utc_offset_secs += (local.tm_sec  - gmt.tm_sec);
+        if ((tm_p = gmtime(&base)) == NULL) { /* CRTL gmtime() is a fake */
+            char off[LNM$C_NAMLENGTH+1];;
+
+            gmtime_emulation_type++;
+            if (!Perl_vmstrnenv("SYS$TIMEZONE_DIFFERENTIAL",off,0,fildev,0)) {
+                gmtime_emulation_type++;
+                utc_offset_secs = 0;
+                Perl_warn(aTHX_ "no UTC offset information; assuming local 
time is UTC");
+            }
+            else { utc_offset_secs = atol(off); }
+        }
+        else { /* We've got a working gmtime() */
+            struct tm gmt, local;
+
+            gmt = *tm_p;
+            tm_p = localtime(&base);
+            local = *tm_p;
+            utc_offset_secs  = (local.tm_mday - gmt.tm_mday) * 86400;
+            utc_offset_secs += (local.tm_hour - gmt.tm_hour) * 3600;
+            utc_offset_secs += (local.tm_min  - gmt.tm_min)  * 60;
+            utc_offset_secs += (local.tm_sec  - gmt.tm_sec);
+        }
     }
-  }
-  return 1;
+    return 1;
 }
 
 
 int
 gettimeofday (struct timeval *tp, void *tpz)
 {
- long ret;
-#ifdef __VAX
- long quad[2];
- long quad1[2];
- long div_100ns_to_secs;
- long div_100ns_to_usecs;
- long quo,rem;
- long quo1,rem1;
-#else
- __int64 quad;
- __qdiv_t ans1,ans2;
-#endif
-/*
+    long ret;
+#  ifdef __VAX
+    long quad[2];
+    long quad1[2];
+    long div_100ns_to_secs;
+    long div_100ns_to_usecs;
+    long quo,rem;
+    long quo1,rem1;
+#  else
+    __int64 quad;
+    __qdiv_t ans1,ans2;
+#  endif
+    /*
         In case of error, tv_usec = 0 and tv_sec = VMS condition code.
         The return from function is also set to -1.
         This is not exactly as per the manual page.
-*/
+    */
 
- tp->tv_usec = 0;
+    tp->tv_usec = 0;
 
-#ifdef __VAX
- if (base_adjust[0]==0 && base_adjust[1]==0) {
-#else
- if (base_adjust==0) { /* Need to determine epoch adjustment */
-#endif
+#  ifdef __VAX
+    if (base_adjust[0]==0 && base_adjust[1]==0) {
+#  else
+    if (base_adjust==0) { /* Need to determine epoch adjustment */
+#  endif
         ret=sys$bintim(&dscepoch,&base_adjust);
         if (1 != (ret &&1)) {
-                tp->tv_sec = ret;
-                return -1;
+            tp->tv_sec = ret;
+            return -1;
         }
- }
+    }
 
- ret=sys$gettim(&quad); /* Get VMS system time */
- if ((1 && ret) == 1) {
-#ifdef __VAX
+    ret=sys$gettim(&quad); /* Get VMS system time */
+    if ((1 && ret) == 1) {
+#  ifdef __VAX
         quad[0] -= base_adjust[0]; /* convert to epoch offset */
         quad[1] -= base_adjust[1]; /* convert 2nd half of quadword */
         div_100ns_to_secs = DIV_100NS_TO_SECS;
@@ -401,27 +386,27 @@ gettimeofday (struct timeval *tp, void *tpz)
         lib$ediv(&div_100ns_to_usecs,&quad1,&quo1,&rem1);
         tp->tv_sec = quo; /* Whole seconds */
         tp->tv_usec = quo1; /* Micro-seconds */
-#else
+#  else
         quad -= base_adjust; /* convert to epoch offset */
         ans1=qdiv(quad,DIV_100NS_TO_SECS);
         ans2=qdiv(ans1.rem,DIV_100NS_TO_USECS);
         tp->tv_sec = ans1.quot; /* Whole seconds */
         tp->tv_usec = ans2.quot; /* Micro-seconds */
-#endif
- } else {
+#  endif
+    } else {
         tp->tv_sec = ret;
         return -1;
- }
-# ifdef VMSISH_TIME
-# ifdef RTL_USES_UTC
-  if (VMSISH_TIME) tp->tv_sec = _toloc(tp->tv_sec);
-# else
-  if (!VMSISH_TIME) tp->tv_sec = _toutc(tp->tv_sec);
-# endif
-# endif
- return 0;
+    }
+#  ifdef VMSISH_TIME
+#    ifdef RTL_USES_UTC
+    if (VMSISH_TIME) tp->tv_sec = _toloc(tp->tv_sec);
+#    else
+    if (!VMSISH_TIME) tp->tv_sec = _toutc(tp->tv_sec);
+#    endif
+#  endif
+    return 0;
 }
-#endif
+#endif /* #if !defined(HAS_GETTIMEOFDAY) && defined(VMS) */
 
 
  /* Do not use H A S _ N A N O S L E E P
@@ -430,8 +415,8 @@ gettimeofday (struct timeval *tp, void *tpz)
   * (We are part of the core perl now.)
   * The TIME_HIRES_NANOSLEEP is set by Makefile.PL. */
 #if !defined(HAS_USLEEP) && defined(TIME_HIRES_NANOSLEEP)
-#define HAS_USLEEP
-#define usleep hrt_usleep  /* could conflict with ncurses for static build */
+#  define HAS_USLEEP
+#  define usleep hrt_usleep  /* could conflict with ncurses for static build */
 
 static void
 hrt_usleep(unsigned long usec) /* This is used to emulate usleep. */
@@ -445,9 +430,9 @@ hrt_usleep(unsigned long usec) /* This is used to emulate 
usleep. */
 #endif /* #if !defined(HAS_USLEEP) && defined(TIME_HIRES_NANOSLEEP) */
 
 #if !defined(HAS_USLEEP) && defined(HAS_SELECT)
-#ifndef SELECT_IS_BROKEN
-#define HAS_USLEEP
-#define usleep hrt_usleep  /* could conflict with ncurses for static build */
+#  ifndef SELECT_IS_BROKEN
+#    define HAS_USLEEP
+#    define usleep hrt_usleep  /* could conflict with ncurses for static build 
*/
 
 static void
 hrt_usleep(unsigned long usec)
@@ -456,14 +441,14 @@ hrt_usleep(unsigned long usec)
     tv.tv_sec = 0;
     tv.tv_usec = usec;
     select(0, (Select_fd_set_t)NULL, (Select_fd_set_t)NULL,
-               (Select_fd_set_t)NULL, &tv);
+        (Select_fd_set_t)NULL, &tv);
 }
-#endif
+#  endif
 #endif /* #if !defined(HAS_USLEEP) && defined(HAS_SELECT) */
 
 #if !defined(HAS_USLEEP) && defined(WIN32)
-#define HAS_USLEEP
-#define usleep hrt_usleep  /* could conflict with ncurses for static build */
+#  define HAS_USLEEP
+#  define usleep hrt_usleep  /* could conflict with ncurses for static build */
 
 static void
 hrt_usleep(unsigned long usec)
@@ -475,8 +460,8 @@ hrt_usleep(unsigned long usec)
 #endif /* #if !defined(HAS_USLEEP) && defined(WIN32) */
 
 #if !defined(HAS_USLEEP) && defined(HAS_POLL)
-#define HAS_USLEEP
-#define usleep hrt_usleep  /* could conflict with ncurses for static build */
+#  define HAS_USLEEP
+#  define usleep hrt_usleep  /* could conflict with ncurses for static build */
 
 static void
 hrt_usleep(unsigned long usec)
@@ -492,34 +477,34 @@ hrt_usleep(unsigned long usec)
 static int
 hrt_ualarm_itimero(struct itimerval *oitv, int usec, int uinterval)
 {
-   struct itimerval itv;
-   itv.it_value.tv_sec = usec / IV_1E6;
-   itv.it_value.tv_usec = usec % IV_1E6;
-   itv.it_interval.tv_sec = uinterval / IV_1E6;
-   itv.it_interval.tv_usec = uinterval % IV_1E6;
-   return setitimer(ITIMER_REAL, &itv, oitv);
+    struct itimerval itv;
+    itv.it_value.tv_sec = usec / IV_1E6;
+    itv.it_value.tv_usec = usec % IV_1E6;
+    itv.it_interval.tv_sec = uinterval / IV_1E6;
+    itv.it_interval.tv_usec = uinterval % IV_1E6;
+    return setitimer(ITIMER_REAL, &itv, oitv);
 }
 
 #endif /* #if !defined(HAS_UALARM) && defined(HAS_SETITIMER) */
 
 #if !defined(HAS_UALARM) && defined(HAS_SETITIMER)
-#define HAS_UALARM
-#define ualarm hrt_ualarm_itimer  /* could conflict with ncurses for static 
build */
+#  define HAS_UALARM
+#  define ualarm hrt_ualarm_itimer  /* could conflict with ncurses for static 
build */
 #endif
 
 #if !defined(HAS_UALARM) && defined(VMS)
-#define HAS_UALARM
-#define ualarm vms_ualarm 
+#  define HAS_UALARM
+#  define ualarm vms_ualarm
 
-#include <lib$routines.h>
-#include <ssdef.h>
-#include <starlet.h>
-#include <descrip.h>
-#include <signal.h>
-#include <jpidef.h>
-#include <psldef.h>
+#  include <lib$routines.h>
+#  include <ssdef.h>
+#  include <starlet.h>
+#  include <descrip.h>
+#  include <signal.h>
+#  include <jpidef.h>
+#  include <psldef.h>
 
-#define VMSERR(s)   (!((s)&1))
+#  define VMSERR(s)   (!((s)&1))
 
 static void
 us_to_VMS(useconds_t mseconds, unsigned long v[])
@@ -567,13 +552,13 @@ typedef struct _ualarm {
 
 static int alarm_ef;
 static Alarm *a0, alarm_base;
-#define UAL_NULL   0
-#define UAL_SET    1
-#define UAL_CLEAR  2
-#define UAL_ACTIVE 4
+#  define UAL_NULL   0
+#  define UAL_SET    1
+#  define UAL_CLEAR  2
+#  define UAL_ACTIVE 4
 static void ualarm_AST(Alarm *a);
 
-static int 
+static int
 vms_ualarm(int mseconds, int interval)
 {
     Alarm *a, abase;
@@ -605,7 +590,7 @@ vms_ualarm(int mseconds, int interval)
         a0->function = UAL_NULL;
     }
     itmlst[0].bufaddr    = &asten;
-    
+
     iss = sys$getjpiw(0,0,0,itmlst,0,0,0);
     if (VMSERR(iss)) lib$signal(iss);
     if (!(asten&0x08)) return -1;
@@ -621,7 +606,7 @@ vms_ualarm(int mseconds, int interval)
     if (interval) {
         us_to_VMS(interval, a->interval);
         a->repeat = 1;
-    } else 
+    } else
         a->repeat = 0;
 
     iss = sys$clref(alarm_ef);
@@ -633,7 +618,7 @@ vms_ualarm(int mseconds, int interval)
     iss = sys$waitfr(alarm_ef);
     if (VMSERR(iss)) lib$signal(iss);
 
-    if (a->function == UAL_ACTIVE) 
+    if (a->function == UAL_ACTIVE)
         return VMS_to_us(a->remain);
     else
         return 0;
@@ -658,7 +643,7 @@ ualarm_AST(Alarm *a)
             iss = lib$subx(a0->remain, now, a->remain);
             if (VMSERR(iss)) lib$signal(iss);
 
-            if (a->remain[1] & 0x80000000) 
+            if (a->remain[1] & 0x80000000)
                 a->remain[0] = a->remain[1] = 0;
         }
 
@@ -709,24 +694,24 @@ ualarm_AST(Alarm *a)
 static int
 myU2time(pTHX_ UV *ret)
 {
-  struct timeval Tp;
-  int status;
-  status = gettimeofday (&Tp, NULL);
-  ret[0] = Tp.tv_sec;
-  ret[1] = Tp.tv_usec;
-  return status;
+    struct timeval Tp;
+    int status;
+    status = gettimeofday (&Tp, NULL);
+    ret[0] = Tp.tv_sec;
+    ret[1] = Tp.tv_usec;
+    return status;
 }
 
 static NV
 myNVtime()
 {
-#ifdef WIN32
-  dTHX;
-#endif
-  struct timeval Tp;
-  int status;
-  status = gettimeofday (&Tp, NULL);
-  return status == 0 ? Tp.tv_sec + (Tp.tv_usec / NV_1E6) : -1.0;
+#  ifdef WIN32
+    dTHX;
+#  endif
+    struct timeval Tp;
+    int status;
+    status = gettimeofday (&Tp, NULL);
+    return status == 0 ? Tp.tv_sec + (Tp.tv_usec / NV_1E6) : -1.0;
 }
 
 #endif /* #ifdef HAS_GETTIMEOFDAY */
@@ -734,31 +719,31 @@ myNVtime()
 static void
 hrstatns(UV *atime_nsec, UV *mtime_nsec, UV *ctime_nsec)
 {
-  dTHX;
+    dTHX;
 #if TIME_HIRES_STAT == 1
-  *atime_nsec = PL_statcache.st_atimespec.tv_nsec;
-  *mtime_nsec = PL_statcache.st_mtimespec.tv_nsec;
-  *ctime_nsec = PL_statcache.st_ctimespec.tv_nsec;
+    *atime_nsec = PL_statcache.st_atimespec.tv_nsec;
+    *mtime_nsec = PL_statcache.st_mtimespec.tv_nsec;
+    *ctime_nsec = PL_statcache.st_ctimespec.tv_nsec;
 #elif TIME_HIRES_STAT == 2
-  *atime_nsec = PL_statcache.st_atimensec;
-  *mtime_nsec = PL_statcache.st_mtimensec;
-  *ctime_nsec = PL_statcache.st_ctimensec;
+    *atime_nsec = PL_statcache.st_atimensec;
+    *mtime_nsec = PL_statcache.st_mtimensec;
+    *ctime_nsec = PL_statcache.st_ctimensec;
 #elif TIME_HIRES_STAT == 3
-  *atime_nsec = PL_statcache.st_atime_n;
-  *mtime_nsec = PL_statcache.st_mtime_n;
-  *ctime_nsec = PL_statcache.st_ctime_n;
+    *atime_nsec = PL_statcache.st_atime_n;
+    *mtime_nsec = PL_statcache.st_mtime_n;
+    *ctime_nsec = PL_statcache.st_ctime_n;
 #elif TIME_HIRES_STAT == 4
-  *atime_nsec = PL_statcache.st_atim.tv_nsec;
-  *mtime_nsec = PL_statcache.st_mtim.tv_nsec;
-  *ctime_nsec = PL_statcache.st_ctim.tv_nsec;
+    *atime_nsec = PL_statcache.st_atim.tv_nsec;
+    *mtime_nsec = PL_statcache.st_mtim.tv_nsec;
+    *ctime_nsec = PL_statcache.st_ctim.tv_nsec;
 #elif TIME_HIRES_STAT == 5
-  *atime_nsec = PL_statcache.st_uatime * 1000;
-  *mtime_nsec = PL_statcache.st_umtime * 1000;
-  *ctime_nsec = PL_statcache.st_uctime * 1000;
+    *atime_nsec = PL_statcache.st_uatime * 1000;
+    *mtime_nsec = PL_statcache.st_umtime * 1000;
+    *ctime_nsec = PL_statcache.st_uctime * 1000;
 #else /* !TIME_HIRES_STAT */
-  *atime_nsec = 0;
-  *mtime_nsec = 0;
-  *ctime_nsec = 0;
+    *atime_nsec = 0;
+    *mtime_nsec = 0;
+    *ctime_nsec = 0;
 #endif /* !TIME_HIRES_STAT */
 }
 
@@ -770,157 +755,157 @@ hrstatns(UV *atime_nsec, UV *mtime_nsec, UV *ctime_nsec)
    defined(TIME_HIRES_CLOCK_GETRES_EMULATION)    || \
    defined(TIME_HIRES_CLOCK_NANOSLEEP_EMULATION))
 
-#ifndef CLOCK_REALTIME
-#  define CLOCK_REALTIME  0x01
-#  define CLOCK_MONOTONIC 0x02
-#endif
+#  ifndef CLOCK_REALTIME
+#    define CLOCK_REALTIME  0x01
+#    define CLOCK_MONOTONIC 0x02
+#  endif
 
-#ifndef TIMER_ABSTIME
-#  define TIMER_ABSTIME   0x01
-#endif
+#  ifndef TIMER_ABSTIME
+#    define TIMER_ABSTIME   0x01
+#  endif
 
-#ifdef USE_ITHREADS
-#  define PERL_DARWIN_MUTEX
-#endif
+#  ifdef USE_ITHREADS
+#    define PERL_DARWIN_MUTEX
+#  endif
 
-#ifdef PERL_DARWIN_MUTEX
+#  ifdef PERL_DARWIN_MUTEX
 STATIC perl_mutex darwin_time_mutex;
-#endif
+#  endif
 
-#include <mach/mach_time.h>
+#  include <mach/mach_time.h>
 
 static uint64_t absolute_time_init;
 static mach_timebase_info_data_t timebase_info;
 static struct timespec timespec_init;
 
 static int darwin_time_init() {
-  struct timeval tv;
-  int success = 1;
-#ifdef PERL_DARWIN_MUTEX
-  MUTEX_LOCK(&darwin_time_mutex);
-#endif
-  if (absolute_time_init == 0) {
-    /* mach_absolute_time() cannot fail */
-    absolute_time_init = mach_absolute_time();
-    success = mach_timebase_info(&timebase_info) == KERN_SUCCESS;
-    if (success) {
-      success = gettimeofday(&tv, NULL) == 0;
-      if (success) {
-        timespec_init.tv_sec  = tv.tv_sec;
-        timespec_init.tv_nsec = tv.tv_usec * 1000;
-      }
+    struct timeval tv;
+    int success = 1;
+#  ifdef PERL_DARWIN_MUTEX
+    MUTEX_LOCK(&darwin_time_mutex);
+#  endif
+    if (absolute_time_init == 0) {
+        /* mach_absolute_time() cannot fail */
+        absolute_time_init = mach_absolute_time();
+        success = mach_timebase_info(&timebase_info) == KERN_SUCCESS;
+        if (success) {
+            success = gettimeofday(&tv, NULL) == 0;
+            if (success) {
+                timespec_init.tv_sec  = tv.tv_sec;
+                timespec_init.tv_nsec = tv.tv_usec * 1000;
+            }
+        }
     }
-  }
-#ifdef PERL_DARWIN_MUTEX
-  MUTEX_UNLOCK(&darwin_time_mutex);
-#endif
-  return success;
+#  ifdef PERL_DARWIN_MUTEX
+    MUTEX_UNLOCK(&darwin_time_mutex);
+#  endif
+    return success;
 }
 
-#ifdef TIME_HIRES_CLOCK_GETTIME_EMULATION
+#  ifdef TIME_HIRES_CLOCK_GETTIME_EMULATION
 static int th_clock_gettime(clockid_t clock_id, struct timespec *ts) {
-  if (darwin_time_init() && timebase_info.denom) {
-    switch (clock_id) {
-      case CLOCK_REALTIME:
-      {
-       uint64_t nanos =
-         ((mach_absolute_time() - absolute_time_init) *
-          (uint64_t)timebase_info.numer) / (uint64_t)timebase_info.denom;
-       ts->tv_sec  = timespec_init.tv_sec  + nanos / IV_1E9;
-       ts->tv_nsec = timespec_init.tv_nsec + nanos % IV_1E9;
-       return 0;
-      }
-
-      case CLOCK_MONOTONIC:
-      {
-       uint64_t nanos =
-         (mach_absolute_time() *
-          (uint64_t)timebase_info.numer) / (uint64_t)timebase_info.denom;
-       ts->tv_sec  = nanos / IV_1E9;
-       ts->tv_nsec = nanos - ts->tv_sec * IV_1E9;
-       return 0;
-      }
-
-      default:
-       break;
+    if (darwin_time_init() && timebase_info.denom) {
+        switch (clock_id) {
+        case CLOCK_REALTIME:
+            {
+                uint64_t nanos =
+                    ((mach_absolute_time() - absolute_time_init) *
+                    (uint64_t)timebase_info.numer) / 
(uint64_t)timebase_info.denom;
+                ts->tv_sec  = timespec_init.tv_sec  + nanos / IV_1E9;
+                ts->tv_nsec = timespec_init.tv_nsec + nanos % IV_1E9;
+                return 0;
+            }
+
+        case CLOCK_MONOTONIC:
+            {
+                uint64_t nanos =
+                    (mach_absolute_time() *
+                    (uint64_t)timebase_info.numer) / 
(uint64_t)timebase_info.denom;
+                ts->tv_sec  = nanos / IV_1E9;
+                ts->tv_nsec = nanos - ts->tv_sec * IV_1E9;
+                return 0;
+            }
+
+        default:
+            break;
+        }
     }
-  }
 
-  SETERRNO(EINVAL, LIB_INVARG);
-  return -1;
+    SETERRNO(EINVAL, LIB_INVARG);
+    return -1;
 }
 
-#define clock_gettime(clock_id, ts) th_clock_gettime((clock_id), (ts))
+#    define clock_gettime(clock_id, ts) th_clock_gettime((clock_id), (ts))
 
-#endif /* TIME_HIRES_CLOCK_GETTIME_EMULATION */
+#  endif /* TIME_HIRES_CLOCK_GETTIME_EMULATION */
 
-#ifdef TIME_HIRES_CLOCK_GETRES_EMULATION
+#  ifdef TIME_HIRES_CLOCK_GETRES_EMULATION
 static int th_clock_getres(clockid_t clock_id, struct timespec *ts) {
-  if (darwin_time_init() && timebase_info.denom) {
-    switch (clock_id) {
-      case CLOCK_REALTIME:
-      case CLOCK_MONOTONIC:
-      ts->tv_sec  = 0;
-      /* In newer kernels both the numer and denom are one,
-       * resulting in conversion factor of one, which is of
-       * course unrealistic. */
-      ts->tv_nsec = timebase_info.numer / timebase_info.denom;
-      return 0;
-    default:
-      break;
+    if (darwin_time_init() && timebase_info.denom) {
+        switch (clock_id) {
+        case CLOCK_REALTIME:
+        case CLOCK_MONOTONIC:
+            ts->tv_sec  = 0;
+            /* In newer kernels both the numer and denom are one,
+             * resulting in conversion factor of one, which is of
+             * course unrealistic. */
+            ts->tv_nsec = timebase_info.numer / timebase_info.denom;
+            return 0;
+        default:
+            break;
+        }
     }
-  }
 
-  SETERRNO(EINVAL, LIB_INVARG);
-  return -1;
+    SETERRNO(EINVAL, LIB_INVARG);
+    return -1;
 }
 
-#define clock_getres(clock_id, ts) th_clock_getres((clock_id), (ts))
-#endif /* TIME_HIRES_CLOCK_GETRES_EMULATION */
+#    define clock_getres(clock_id, ts) th_clock_getres((clock_id), (ts))
+#  endif /* TIME_HIRES_CLOCK_GETRES_EMULATION */
 
-#ifdef TIME_HIRES_CLOCK_NANOSLEEP_EMULATION
+#  ifdef TIME_HIRES_CLOCK_NANOSLEEP_EMULATION
 static int th_clock_nanosleep(clockid_t clock_id, int flags,
-                          const struct timespec *rqtp,
-                          struct timespec *rmtp) {
-  if (darwin_time_init()) {
-    switch (clock_id) {
-    case CLOCK_REALTIME:
-    case CLOCK_MONOTONIC:
-      {
-       uint64_t nanos = rqtp->tv_sec * IV_1E9 + rqtp->tv_nsec;
-        int success;
-       if ((flags & TIMER_ABSTIME)) {
-         uint64_t back =
-           timespec_init.tv_sec * IV_1E9 + timespec_init.tv_nsec;
-         nanos = nanos > back ? nanos - back : 0;
-       }
-        success =
-          mach_wait_until(mach_absolute_time() + nanos) == KERN_SUCCESS;
-
-        /* In the relative sleep, the rmtp should be filled in with
-         * the 'unused' part of the rqtp in case the sleep gets
-         * interrupted by a signal.  But it is unknown how signals
-         * interact with mach_wait_until().  In the absolute sleep,
-         * the rmtp should stay untouched. */
-        rmtp->tv_sec  = 0;
-        rmtp->tv_nsec = 0;
-
-        return success;
-      }
-
-    default:
-      break;
+                           const struct timespec *rqtp,
+                           struct timespec *rmtp) {
+    if (darwin_time_init()) {
+        switch (clock_id) {
+        case CLOCK_REALTIME:
+        case CLOCK_MONOTONIC:
+            {
+                uint64_t nanos = rqtp->tv_sec * IV_1E9 + rqtp->tv_nsec;
+                int success;
+                if ((flags & TIMER_ABSTIME)) {
+                    uint64_t back =
+                        timespec_init.tv_sec * IV_1E9 + timespec_init.tv_nsec;
+                    nanos = nanos > back ? nanos - back : 0;
+                }
+                success =
+                    mach_wait_until(mach_absolute_time() + nanos) == 
KERN_SUCCESS;
+
+                /* In the relative sleep, the rmtp should be filled in with
+                 * the 'unused' part of the rqtp in case the sleep gets
+                 * interrupted by a signal.  But it is unknown how signals
+                 * interact with mach_wait_until().  In the absolute sleep,
+                 * the rmtp should stay untouched. */
+                rmtp->tv_sec  = 0;
+                rmtp->tv_nsec = 0;
+
+                return success;
+            }
+
+        default:
+            break;
+        }
     }
-  }
 
-  SETERRNO(EINVAL, LIB_INVARG);
-  return -1;
+    SETERRNO(EINVAL, LIB_INVARG);
+    return -1;
 }
 
-#define clock_nanosleep(clock_id, flags, rqtp, rmtp) \
+#    define clock_nanosleep(clock_id, flags, rqtp, rmtp) \
   th_clock_nanosleep((clock_id), (flags), (rqtp), (rmtp))
 
-#endif /* TIME_HIRES_CLOCK_NANOSLEEP_EMULATION */
+#  endif /* TIME_HIRES_CLOCK_NANOSLEEP_EMULATION */
 
 #endif /* PERL_DARWIN */
 
@@ -937,25 +922,25 @@ static int th_clock_nanosleep(clockid_t clock_id, int 
flags,
  * are always available.
  */
 #ifndef __has_builtin
-# define __has_builtin(x) 0 /* non-clang */
+#  define __has_builtin(x) 0 /* non-clang */
 #endif
 #ifdef HAS_FUTIMENS
-# if defined(PERL_DARWIN) && __has_builtin(__builtin_available)
-#  define FUTIMENS_AVAILABLE __builtin_available(macOS 10.13, *)
-# else
-#  define FUTIMENS_AVAILABLE 1
-# endif
+#  if defined(PERL_DARWIN) && __has_builtin(__builtin_available)
+#    define FUTIMENS_AVAILABLE __builtin_available(macOS 10.13, *)
+#  else
+#    define FUTIMENS_AVAILABLE 1
+#  endif
 #else
-# define FUTIMENS_AVAILABLE 0
+#  define FUTIMENS_AVAILABLE 0
 #endif
 #ifdef HAS_UTIMENSAT
-# if defined(PERL_DARWIN) && __has_builtin(__builtin_available)
-#  define UTIMENSAT_AVAILABLE __builtin_available(macOS 10.13, *)
-# else
-#  define UTIMENSAT_AVAILABLE 1
-# endif
+#  if defined(PERL_DARWIN) && __has_builtin(__builtin_available)
+#    define UTIMENSAT_AVAILABLE __builtin_available(macOS 10.13, *)
+#  else
+#    define UTIMENSAT_AVAILABLE 1
+#  endif
 #else
-# define UTIMENSAT_AVAILABLE 0
+#  define UTIMENSAT_AVAILABLE 0
 #endif
 
 #include "const-c.inc"
@@ -976,23 +961,23 @@ nanosleep_init(NV nsec,
 static NV
 nsec_without_unslept(struct timespec *sleepfor,
                      const struct timespec *unslept) {
-  if (sleepfor->tv_sec >= unslept->tv_sec) {
-    sleepfor->tv_sec -= unslept->tv_sec;
-    if (sleepfor->tv_nsec >= unslept->tv_nsec) {
-      sleepfor->tv_nsec -= unslept->tv_nsec;
-    } else if (sleepfor->tv_sec > 0) {
-      sleepfor->tv_sec--;
-      sleepfor->tv_nsec += IV_1E9;
-      sleepfor->tv_nsec -= unslept->tv_nsec;
+    if (sleepfor->tv_sec >= unslept->tv_sec) {
+        sleepfor->tv_sec -= unslept->tv_sec;
+        if (sleepfor->tv_nsec >= unslept->tv_nsec) {
+            sleepfor->tv_nsec -= unslept->tv_nsec;
+        } else if (sleepfor->tv_sec > 0) {
+            sleepfor->tv_sec--;
+            sleepfor->tv_nsec += IV_1E9;
+            sleepfor->tv_nsec -= unslept->tv_nsec;
+        } else {
+            sleepfor->tv_sec = 0;
+            sleepfor->tv_nsec = 0;
+        }
     } else {
-      sleepfor->tv_sec = 0;
-      sleepfor->tv_nsec = 0;
+        sleepfor->tv_sec = 0;
+        sleepfor->tv_nsec = 0;
     }
-  } else {
-    sleepfor->tv_sec = 0;
-    sleepfor->tv_nsec = 0;
-  }
-  return ((NV)sleepfor->tv_sec) * NV_1E9 + ((NV)sleepfor->tv_nsec);
+    return ((NV)sleepfor->tv_sec) * NV_1E9 + ((NV)sleepfor->tv_nsec);
 }
 
 #endif
@@ -1000,17 +985,17 @@ nsec_without_unslept(struct timespec *sleepfor,
 /* In case Perl and/or Devel::PPPort are too old, minimally emulate
  * IS_SAFE_PATHNAME() (which looks for zero bytes in the pathname). */
 #ifndef IS_SAFE_PATHNAME
-#if PERL_VERSION >= 12 /* Perl_ck_warner is 5.10.0 -> */
-#ifdef WARN_SYSCALLS
-#define WARNEMUCAT WARN_SYSCALLS /* 5.22.0 -> */
-#else
-#define WARNEMUCAT WARN_MISC
-#endif
-#define WARNEMU(opname) Perl_ck_warner(aTHX_ packWARN(WARNEMUCAT), "Invalid 
\\0 character in pathname for %s",opname)
-#else
-#define WARNEMU(opname) Perl_warn(aTHX_ "Invalid \\0 character in pathname for 
%s",opname)
-#endif
-#define IS_SAFE_PATHNAME(pv, len, opname) (((len)>1)&&memchr((pv), 0, 
(len)-1)?(SETERRNO(ENOENT, LIB_INVARG),WARNEMU(opname),FALSE):(TRUE))
+#  if PERL_VERSION >= 12 /* Perl_ck_warner is 5.10.0 -> */
+#    ifdef WARN_SYSCALLS
+#      define WARNEMUCAT WARN_SYSCALLS /* 5.22.0 -> */
+#    else
+#      define WARNEMUCAT WARN_MISC
+#    endif
+#    define WARNEMU(opname) Perl_ck_warner(aTHX_ packWARN(WARNEMUCAT), 
"Invalid \\0 character in pathname for %s",opname)
+#  else
+#    define WARNEMU(opname) Perl_warn(aTHX_ "Invalid \\0 character in pathname 
for %s",opname)
+#  endif
+#  define IS_SAFE_PATHNAME(pv, len, opname) (((len)>1)&&memchr((pv), 0, 
(len)-1)?(SETERRNO(ENOENT, LIB_INVARG),WARNEMU(opname),FALSE):(TRUE))
 #endif
 
 MODULE = Time::HiRes            PACKAGE = Time::HiRes
@@ -1018,33 +1003,31 @@ MODULE = Time::HiRes            PACKAGE = Time::HiRes
 PROTOTYPES: ENABLE
 
 BOOT:
-{
+    {
 #ifdef MY_CXT_KEY
-  MY_CXT_INIT;
+        MY_CXT_INIT;
 #endif
-#ifdef ATLEASTFIVEOHOHFIVE
-#   ifdef HAS_GETTIMEOFDAY
-  {
-    (void) hv_store(PL_modglobal, "Time::NVtime", 12,
-               newSViv(PTR2IV(myNVtime)), 0);
-    (void) hv_store(PL_modglobal, "Time::U2time", 12,
-               newSViv(PTR2IV(myU2time)), 0);
-  }
-#   endif
+#ifdef HAS_GETTIMEOFDAY
+        {
+            (void) hv_store(PL_modglobal, "Time::NVtime", 12,
+                            newSViv(PTR2IV(myNVtime)), 0);
+            (void) hv_store(PL_modglobal, "Time::U2time", 12,
+                            newSViv(PTR2IV(myU2time)), 0);
+        }
 #endif
 #if defined(PERL_DARWIN)
 #  if defined(USE_ITHREADS) && defined(PERL_DARWIN_MUTEX)
-  MUTEX_INIT(&darwin_time_mutex);
+        MUTEX_INIT(&darwin_time_mutex);
 #  endif
 #endif
-}
+    }
 
 #if defined(USE_ITHREADS) && defined(MY_CXT_KEY)
 
 void
 CLONE(...)
     CODE:
-    MY_CXT_CLONE;
+        MY_CXT_CLONE;
 
 #endif
 
@@ -1054,122 +1037,125 @@ INCLUDE: const-xs.inc
 
 NV
 usleep(useconds)
-        NV useconds
-       PREINIT:
-       struct timeval Ta, Tb;
-       CODE:
-       gettimeofday(&Ta, NULL);
-       if (items > 0) {
-           if (useconds >= NV_1E6) {
-               IV seconds = (IV) (useconds / NV_1E6);
-               /* If usleep() has been implemented using setitimer()
-                * then this contortion is unnecessary-- but usleep()
-                * may be implemented in some other way, so let's contort. */
-               if (seconds) {
-                   sleep(seconds);
-                   useconds -= NV_1E6 * seconds;
-               }
-           } else if (useconds < 0.0)
-               croak("Time::HiRes::usleep(%" NVgf
+    NV useconds
+    PREINIT:
+        struct timeval Ta, Tb;
+    CODE:
+        gettimeofday(&Ta, NULL);
+        if (items > 0) {
+            if (useconds >= NV_1E6) {
+                IV seconds = (IV) (useconds / NV_1E6);
+                /* If usleep() has been implemented using setitimer()
+                 * then this contortion is unnecessary-- but usleep()
+                 * may be implemented in some other way, so let's contort. */
+                if (seconds) {
+                    sleep(seconds);
+                    useconds -= NV_1E6 * seconds;
+                }
+            } else if (useconds < 0.0)
+                croak("Time::HiRes::usleep(%" NVgf
                       "): negative time not invented yet", useconds);
-           usleep((U32)useconds);
-       } else
-           PerlProc_pause();
-       gettimeofday(&Tb, NULL);
-#if 0
-       printf("[%ld %ld] [%ld %ld]\n", Tb.tv_sec, Tb.tv_usec, Ta.tv_sec, 
Ta.tv_usec);
-#endif
-       RETVAL = 
NV_1E6*(Tb.tv_sec-Ta.tv_sec)+(NV)((IV)Tb.tv_usec-(IV)Ta.tv_usec);
 
-       OUTPUT:
-       RETVAL
+            usleep((U32)useconds);
+        } else
+            PerlProc_pause();
 
-#if defined(TIME_HIRES_NANOSLEEP)
+        gettimeofday(&Tb, NULL);
+#  if 0
+        printf("[%ld %ld] [%ld %ld]\n", Tb.tv_sec, Tb.tv_usec, Ta.tv_sec, 
Ta.tv_usec);
+#  endif
+        RETVAL = 
NV_1E6*(Tb.tv_sec-Ta.tv_sec)+(NV)((IV)Tb.tv_usec-(IV)Ta.tv_usec);
+
+    OUTPUT:
+        RETVAL
+
+#  if defined(TIME_HIRES_NANOSLEEP)
 
 NV
 nanosleep(nsec)
-        NV nsec
-       PREINIT:
-       struct timespec sleepfor, unslept;
-       CODE:
-       if (nsec < 0.0)
-           croak("Time::HiRes::nanosleep(%" NVgf
+    NV nsec
+    PREINIT:
+        struct timespec sleepfor, unslept;
+    CODE:
+        if (nsec < 0.0)
+            croak("Time::HiRes::nanosleep(%" NVgf
                   "): negative time not invented yet", nsec);
         nanosleep_init(nsec, &sleepfor, &unslept);
-       if (nanosleep(&sleepfor, &unslept) == 0) {
-           RETVAL = nsec;
-       } else {
+        if (nanosleep(&sleepfor, &unslept) == 0) {
+            RETVAL = nsec;
+        } else {
             RETVAL = nsec_without_unslept(&sleepfor, &unslept);
-       }
+        }
     OUTPUT:
-       RETVAL
+        RETVAL
 
-#else  /* #if defined(TIME_HIRES_NANOSLEEP) */
+#  else  /* #if defined(TIME_HIRES_NANOSLEEP) */
 
 NV
 nanosleep(nsec)
-        NV nsec
+    NV nsec
     CODE:
-       PERL_UNUSED_ARG(nsec);
+        PERL_UNUSED_ARG(nsec);
         croak("Time::HiRes::nanosleep(): unimplemented in this platform");
         RETVAL = 0.0;
     OUTPUT:
-       RETVAL
+        RETVAL
 
-#endif /* #if defined(TIME_HIRES_NANOSLEEP) */
+#  endif /* #if defined(TIME_HIRES_NANOSLEEP) */
 
 NV
 sleep(...)
-       PREINIT:
-       struct timeval Ta, Tb;
-       CODE:
-       gettimeofday(&Ta, NULL);
-       if (items > 0) {
-           NV seconds  = SvNV(ST(0));
-           if (seconds >= 0.0) {
-                UV useconds = (UV)(1E6 * (seconds - (UV)seconds));
-                if (seconds >= 1.0)
-                    sleep((U32)seconds);
-                if ((IV)useconds < 0) {
-#if defined(__sparc64__) && defined(__GNUC__)
-                  /* Sparc64 gcc 2.95.3 (e.g. on NetBSD) has a bug
-                   * where (0.5 - (UV)(0.5)) will under certain
-                   * circumstances (if the double is cast to UV more
-                   * than once?) evaluate to -0.5, instead of 0.5. */
-                  useconds = -(IV)useconds;
-#endif /* #if defined(__sparc64__) && defined(__GNUC__) */
-                  if ((IV)useconds < 0)
-                    croak("Time::HiRes::sleep(%" NVgf
-                           "): internal error: useconds < 0 (unsigned %" UVuf
-                           " signed %" IVdf ")",
-                           seconds, useconds, (IV)useconds);
-                }
-                usleep(useconds);
-           } else
-               croak("Time::HiRes::sleep(%" NVgf
+    PREINIT:
+        struct timeval Ta, Tb;
+    CODE:
+        gettimeofday(&Ta, NULL);
+        if (items > 0) {
+            NV seconds  = SvNV(ST(0));
+            if (seconds >= 0.0) {
+                UV useconds = (UV)(1E6 * (seconds - (UV)seconds));
+                if (seconds >= 1.0)
+                    sleep((U32)seconds);
+                if ((IV)useconds < 0) {
+#  if defined(__sparc64__) && defined(__GNUC__)
+                    /* Sparc64 gcc 2.95.3 (e.g. on NetBSD) has a bug
+                     * where (0.5 - (UV)(0.5)) will under certain
+                     * circumstances (if the double is cast to UV more
+                     * than once?) evaluate to -0.5, instead of 0.5. */
+                    useconds = -(IV)useconds;
+#  endif /* #if defined(__sparc64__) && defined(__GNUC__) */
+                    if ((IV)useconds < 0)
+                        croak("Time::HiRes::sleep(%" NVgf
+                              "): internal error: useconds < 0 (unsigned %" 
UVuf
+                              " signed %" IVdf ")",
+                              seconds, useconds, (IV)useconds);
+                }
+                usleep(useconds);
+            } else
+                croak("Time::HiRes::sleep(%" NVgf
                       "): negative time not invented yet", seconds);
-       } else
-           PerlProc_pause();
-       gettimeofday(&Tb, NULL);
-#if 0
-       printf("[%ld %ld] [%ld %ld]\n", Tb.tv_sec, Tb.tv_usec, Ta.tv_sec, 
Ta.tv_usec);
-#endif
-       RETVAL = (NV)(Tb.tv_sec-Ta.tv_sec)+0.000001*(NV)(Tb.tv_usec-Ta.tv_usec);
+        } else
+            PerlProc_pause();
 
-       OUTPUT:
-       RETVAL
+        gettimeofday(&Tb, NULL);
+#  if 0
+        printf("[%ld %ld] [%ld %ld]\n", Tb.tv_sec, Tb.tv_usec, Ta.tv_sec, 
Ta.tv_usec);
+#  endif
+        RETVAL = 
(NV)(Tb.tv_sec-Ta.tv_sec)+0.000001*(NV)(Tb.tv_usec-Ta.tv_usec);
+
+    OUTPUT:
+        RETVAL
 
 #else  /* #if defined(HAS_USLEEP) && defined(HAS_GETTIMEOFDAY) */
 
 NV
 usleep(useconds)
-        NV useconds
+    NV useconds
     CODE:
-       PERL_UNUSED_ARG(useconds);
+        PERL_UNUSED_ARG(useconds);
         croak("Time::HiRes::usleep(): unimplemented in this platform");
         RETVAL = 0.0;
     OUTPUT:
-       RETVAL
+        RETVAL
 
 #endif /* #if defined(HAS_USLEEP) && defined(HAS_GETTIMEOFDAY) */
 
@@ -1177,241 +1163,204 @@ usleep(useconds)
 
 IV
 ualarm(useconds,uinterval=0)
-       int useconds
-       int uinterval
-       CODE:
-       if (useconds < 0 || uinterval < 0)
-           croak("Time::HiRes::ualarm(%d, %d): negative time not invented 
yet", useconds, uinterval);
-#if defined(HAS_SETITIMER) && defined(ITIMER_REAL)
-         {
-               struct itimerval itv;
-               if (hrt_ualarm_itimero(&itv, useconds, uinterval)) {
-                 /* To conform to ualarm's interface, we're actually ignoring
-                    an error here.  */
-                 RETVAL = 0;
-               } else {
-                 RETVAL = itv.it_value.tv_sec * IV_1E6 + itv.it_value.tv_usec;
-               }
-         }
-#else
-       if (useconds >= IV_1E6 || uinterval >= IV_1E6) 
-               croak("Time::HiRes::ualarm(%d, %d): useconds or uinterval"
-                      " equal to or more than %" IVdf,
-                      useconds, uinterval, IV_1E6);
-       RETVAL = ualarm(useconds, uinterval);
-#endif
+    int useconds
+    int uinterval
+    CODE:
+        if (useconds < 0 || uinterval < 0)
+            croak("Time::HiRes::ualarm(%d, %d): negative time not invented 
yet", useconds, uinterval);
+#  if defined(HAS_SETITIMER) && defined(ITIMER_REAL)
+        {
+            struct itimerval itv;
+            if (hrt_ualarm_itimero(&itv, useconds, uinterval)) {
+                /* To conform to ualarm's interface, we're actually ignoring
+                   an error here.  */
+                RETVAL = 0;
+            } else {
+                RETVAL = itv.it_value.tv_sec * IV_1E6 + itv.it_value.tv_usec;
+            }
+        }
+#  else
+        if (useconds >= IV_1E6 || uinterval >= IV_1E6)
+            croak("Time::HiRes::ualarm(%d, %d): useconds or uinterval"
+                  " equal to or more than %" IVdf,
+                  useconds, uinterval, IV_1E6);
 
-       OUTPUT:
-       RETVAL
+        RETVAL = ualarm(useconds, uinterval);
+#  endif
+
+    OUTPUT:
+        RETVAL
 
 NV
 alarm(seconds,interval=0)
-       NV seconds
-       NV interval
-       CODE:
-       if (seconds < 0.0 || interval < 0.0)
-           croak("Time::HiRes::alarm(%" NVgf ", %" NVgf
+    NV seconds
+    NV interval
+    CODE:
+        if (seconds < 0.0 || interval < 0.0)
+            croak("Time::HiRes::alarm(%" NVgf ", %" NVgf
                   "): negative time not invented yet", seconds, interval);
-       {
-         IV iseconds = (IV)seconds;
-         IV iinterval = (IV)interval;
-         NV fseconds = seconds - iseconds;
-         NV finterval = interval - iinterval;
-         IV useconds, uinterval;
-         if (fseconds >= 1.0 || finterval >= 1.0)
-               croak("Time::HiRes::alarm(%" NVgf ", %" NVgf
+
+        {
+            IV iseconds = (IV)seconds;
+            IV iinterval = (IV)interval;
+            NV fseconds = seconds - iseconds;
+            NV finterval = interval - iinterval;
+            IV useconds, uinterval;
+            if (fseconds >= 1.0 || finterval >= 1.0)
+                croak("Time::HiRes::alarm(%" NVgf ", %" NVgf
                       "): seconds or interval too large to split correctly",
                       seconds, interval);
-         useconds = IV_1E6 * fseconds;
-         uinterval = IV_1E6 * finterval;
-#if defined(HAS_SETITIMER) && defined(ITIMER_REAL)
-         {
-               struct itimerval nitv, oitv;
-               nitv.it_value.tv_sec = iseconds;
-               nitv.it_value.tv_usec = useconds;
-               nitv.it_interval.tv_sec = iinterval;
-               nitv.it_interval.tv_usec = uinterval;
-               if (setitimer(ITIMER_REAL, &nitv, &oitv)) {
-                 /* To conform to alarm's interface, we're actually ignoring
-                    an error here.  */
-                 RETVAL = 0;
-               } else {
-                 RETVAL = oitv.it_value.tv_sec + ((NV)oitv.it_value.tv_usec) / 
NV_1E6;
-               }
-         }
-#else
-         if (iseconds || iinterval)
-               croak("Time::HiRes::alarm(%" NVgf ", %" NVgf
+
+            useconds = IV_1E6 * fseconds;
+            uinterval = IV_1E6 * finterval;
+#  if defined(HAS_SETITIMER) && defined(ITIMER_REAL)
+            {
+                struct itimerval nitv, oitv;
+                nitv.it_value.tv_sec = iseconds;
+                nitv.it_value.tv_usec = useconds;
+                nitv.it_interval.tv_sec = iinterval;
+                nitv.it_interval.tv_usec = uinterval;
+                if (setitimer(ITIMER_REAL, &nitv, &oitv)) {
+                    /* To conform to alarm's interface, we're actually ignoring
+                       an error here.  */
+                    RETVAL = 0;
+                } else {
+                    RETVAL = oitv.it_value.tv_sec + 
((NV)oitv.it_value.tv_usec) / NV_1E6;
+                }
+            }
+#  else
+            if (iseconds || iinterval)
+                croak("Time::HiRes::alarm(%" NVgf ", %" NVgf
                       "): seconds or interval equal to or more than 1.0 ",
                       seconds, interval);
-           RETVAL = (NV)ualarm( useconds, uinterval ) / NV_1E6;
-#endif
-       }
 
-       OUTPUT:
-       RETVAL
+            RETVAL = (NV)ualarm( useconds, uinterval ) / NV_1E6;
+#  endif
+        }
 
-#else
+    OUTPUT:
+        RETVAL
+
+#else /* #ifdef HAS_UALARM */
 
 int
 ualarm(useconds,interval=0)
-       int useconds
-       int interval
+    int useconds
+    int interval
     CODE:
-       PERL_UNUSED_ARG(useconds);
-       PERL_UNUSED_ARG(interval);
+        PERL_UNUSED_ARG(useconds);
+        PERL_UNUSED_ARG(interval);
         croak("Time::HiRes::ualarm(): unimplemented in this platform");
-       RETVAL = -1;
+        RETVAL = -1;
     OUTPUT:
-       RETVAL
+        RETVAL
 
 NV
 alarm(seconds,interval=0)
-       NV seconds
-       NV interval
+    NV seconds
+    NV interval
     CODE:
-       PERL_UNUSED_ARG(seconds);
-       PERL_UNUSED_ARG(interval);
+        PERL_UNUSED_ARG(seconds);
+        PERL_UNUSED_ARG(interval);
         croak("Time::HiRes::alarm(): unimplemented in this platform");
-       RETVAL = 0.0;
+        RETVAL = 0.0;
     OUTPUT:
-       RETVAL
+        RETVAL
 
 #endif /* #ifdef HAS_UALARM */
 
 #ifdef HAS_GETTIMEOFDAY
-#    ifdef MACOS_TRADITIONAL   /* fix epoch TZ and use unsigned time_t */
-void
-gettimeofday()
-        PREINIT:
-        struct timeval Tp;
-        struct timezone Tz;
-        PPCODE:
-        int status;
-        status = gettimeofday (&Tp, &Tz);
-
-       if (status == 0) {
-            Tp.tv_sec += Tz.tz_minuteswest * 60;       /* adjust for TZ */
-             if (GIMME == G_ARRAY) {
-                 EXTEND(sp, 2);
-                 /* Mac OS (Classic) has unsigned time_t */
-                 PUSHs(sv_2mortal(newSVuv(Tp.tv_sec)));
-                 PUSHs(sv_2mortal(newSViv(Tp.tv_usec)));
-             } else {
-                 EXTEND(sp, 1);
-                 PUSHs(sv_2mortal(newSVnv(Tp.tv_sec + (Tp.tv_usec / NV_1E6))));
-            }
-        }
-
-NV
-time()
-        PREINIT:
-        struct timeval Tp;
-        struct timezone Tz;
-        CODE:
-        int status;
-        status = gettimeofday (&Tp, &Tz);
-       if (status == 0) {
-            Tp.tv_sec += Tz.tz_minuteswest * 60;       /* adjust for TZ */
-           RETVAL = Tp.tv_sec + (Tp.tv_usec / NV_1E6);
-        } else {
-           RETVAL = -1.0;
-       }
-       OUTPUT:
-       RETVAL
 
-#    else      /* MACOS_TRADITIONAL */
 void
 gettimeofday()
-        PREINIT:
+    PREINIT:
         struct timeval Tp;
-        PPCODE:
-       int status;
+    PPCODE:
+        int status;
         status = gettimeofday (&Tp, NULL);
-       if (status == 0) {
-            if (GIMME == G_ARRAY) {
-                EXTEND(sp, 2);
-                 PUSHs(sv_2mortal(newSViv(Tp.tv_sec)));
-                 PUSHs(sv_2mortal(newSViv(Tp.tv_usec)));
-             } else {
-                 EXTEND(sp, 1);
-                 PUSHs(sv_2mortal(newSVnv(Tp.tv_sec + (Tp.tv_usec / NV_1E6))));
-             }
+        if (status == 0) {
+            if (GIMME == G_ARRAY) {
+                EXTEND(sp, 2);
+                PUSHs(sv_2mortal(newSViv(Tp.tv_sec)));
+                PUSHs(sv_2mortal(newSViv(Tp.tv_usec)));
+            } else {
+                EXTEND(sp, 1);
+                PUSHs(sv_2mortal(newSVnv(Tp.tv_sec + (Tp.tv_usec / NV_1E6))));
+            }
         }
 
 NV
 time()
-        PREINIT:
+    PREINIT:
         struct timeval Tp;
-        CODE:
-       int status;
+    CODE:
+        int status;
         status = gettimeofday (&Tp, NULL);
-       if (status == 0) {
+        if (status == 0) {
             RETVAL = Tp.tv_sec + (Tp.tv_usec / NV_1E6);
-       } else {
-           RETVAL = -1.0;
-       }
-       OUTPUT:
-       RETVAL
+        } else {
+            RETVAL = -1.0;
+        }
+    OUTPUT:
+        RETVAL
 
-#    endif     /* MACOS_TRADITIONAL */
 #endif /* #ifdef HAS_GETTIMEOFDAY */
 
 #if defined(HAS_GETITIMER) && defined(HAS_SETITIMER)
 
-#define TV2NV(tv) ((NV)((tv).tv_sec) + 0.000001 * (NV)((tv).tv_usec))
+#  define TV2NV(tv) ((NV)((tv).tv_sec) + 0.000001 * (NV)((tv).tv_usec))
 
 void
 setitimer(which, seconds, interval = 0)
-       int which
... 3279 lines suppressed ...

-- 
Perl5 Master Repository

Reply via email to