aboutsummaryrefslogtreecommitdiffstats
path: root/extension
diff options
context:
space:
mode:
Diffstat (limited to 'extension')
-rw-r--r--extension/ChangeLog5
-rw-r--r--extension/filefuncs.c1
-rw-r--r--extension/time.c24
3 files changed, 30 insertions, 0 deletions
diff --git a/extension/ChangeLog b/extension/ChangeLog
index ad455cf2..965e0c66 100644
--- a/extension/ChangeLog
+++ b/extension/ChangeLog
@@ -1,3 +1,8 @@
+2013-12-29 John E. Malmberg <wb8tyw@qsl.net>
+
+ * filefuncs.c: Fix compile on VMS.
+ * time.c: Fix compile on VMS.
+
2013-12-29 Arnold D. Robbins <arnold@skeeve.com>
* gawkfts.c: Wrap include of <sys/param.h> in HAVE_SYS_PARAM_H,
diff --git a/extension/filefuncs.c b/extension/filefuncs.c
index a6e99e8e..3eb2a6b5 100644
--- a/extension/filefuncs.c
+++ b/extension/filefuncs.c
@@ -60,6 +60,7 @@
#ifndef minor
#define minor(s) (0)
#endif
+#include <unixlib.h>
#endif
diff --git a/extension/time.c b/extension/time.c
index 9fadfe54..b1e9a40a 100644
--- a/extension/time.c
+++ b/extension/time.c
@@ -39,6 +39,30 @@
#include <sys/types.h>
#include <sys/stat.h>
+#ifdef __VMS
+#define HAVE_NANOSLEEP
+#define HAVE_GETTIMEOFDAY
+#ifdef gettimeofday
+#undef gettimeofday
+#endif
+#ifdef __ia64__
+/* nanosleep not working on IA64 */
+static int
+vms_fake_nanosleep(const struct timespec *rqdly, struct timespec *rmdly)
+{
+ int result;
+
+ result = sleep(rqdly->tv_sec);
+ if (result == 0) {
+ return 0;
+ } else {
+ return -1;
+ }
+}
+#define nanosleep(x,y) vms_fake_nanosleep(x, y)
+#endif
+#endif
+
#include "gawkapi.h"
#include "gettext.h"