aboutsummaryrefslogtreecommitdiffstats
path: root/extension/filefuncs.c
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2014-04-13 14:30:56 -0400
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2014-04-13 14:30:56 -0400
commit94e3f93395de538d73826e128281a3ea9591a5a9 (patch)
tree45257e4b024537c5e0e5a3037a99ea9765583c99 /extension/filefuncs.c
parentc4300d657ba49db0b6d0f0884f41a29622edc58b (diff)
parenta4b59faf911743b30f2e6e979c4f9c1ea0669ac3 (diff)
downloadegawk-94e3f93395de538d73826e128281a3ea9591a5a9.tar.gz
egawk-94e3f93395de538d73826e128281a3ea9591a5a9.tar.bz2
egawk-94e3f93395de538d73826e128281a3ea9591a5a9.zip
Merge branch 'master' into select
Diffstat (limited to 'extension/filefuncs.c')
-rw-r--r--extension/filefuncs.c36
1 files changed, 32 insertions, 4 deletions
diff --git a/extension/filefuncs.c b/extension/filefuncs.c
index 61cadfec..d5249a4e 100644
--- a/extension/filefuncs.c
+++ b/extension/filefuncs.c
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (C) 2001, 2004, 2005, 2010, 2011, 2012, 2013
+ * Copyright (C) 2001, 2004, 2005, 2010, 2011, 2012, 2013, 2014
* the Free Software Foundation, Inc.
*
* This file is part of GAWK, the GNU implementation of the
@@ -36,6 +36,34 @@
#define _BSD_SOURCE
+#ifdef __VMS
+#if (__CRTL_VER >= 70200000) && !defined (__VAX)
+#define _LARGEFILE 1
+#endif
+
+#ifndef __VAX
+#ifdef __CRTL_VER
+#if __CRTL_VER >= 80200000
+#define _USE_STD_STAT 1
+#endif
+#endif
+#endif
+#define _POSIX_C_SOURCE 1
+#define _XOPEN_SOURCE 1
+#include <stat.h>
+#ifndef S_ISVTX
+#define S_ISVTX (0)
+#endif
+#ifndef major
+#define major(s) (s)
+#endif
+#ifndef minor
+#define minor(s) (0)
+#endif
+#include <unixlib.h>
+#endif
+
+
#include <stdio.h>
#include <assert.h>
#include <errno.h>
@@ -256,7 +284,7 @@ read_symlink(const char *fname, size_t bufsize, ssize_t *linksize)
returns -1 with errno == ERANGE if the buffer is
too small. */
if (errno != ERANGE) {
- free(buf);
+ gawk_free(buf);
return NULL;
}
}
@@ -265,7 +293,7 @@ read_symlink(const char *fname, size_t bufsize, ssize_t *linksize)
buf[*linksize] = '\0';
return buf;
}
- free(buf);
+ gawk_free(buf);
if (bufsize <= MAXSIZE/2)
bufsize *= 2;
else if (bufsize < MAXSIZE)
@@ -826,7 +854,7 @@ do_fts(int nargs, awk_value_t *result)
out:
if (pathvector != NULL)
- free(pathvector);
+ gawk_free(pathvector);
if (path_array != NULL)
(void) release_flattened_array(pathlist.array_cookie, path_array);