aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--io.c10
-rw-r--r--vms/ChangeLog5
-rw-r--r--vms/vms-conf.h7
4 files changed, 20 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 660a457a..08557fdd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-12-03 John E. Malmberg <wb8tyw@qsl.net>
+
+ * io.c (redirect): Add additional VMS error code to check.
+ (do_find_source): Append "/" if not a VMS filename.
+
2013-12-01 Andrew J. Schorr <aschorr@telemetry-investments.com>
* main.c (optab): Sort by long option name.
diff --git a/io.c b/io.c
index 3daadb32..ce63ec7a 100644
--- a/io.c
+++ b/io.c
@@ -947,7 +947,10 @@ redirect(NODE *redir_exp, int redirtype, int *errflg)
/* Alpha/VMS V7.1's C RTL is returning this instead
of EMFILE (haven't tried other post-V6.2 systems) */
#define SS$_EXQUOTA 0x001C
- else if (errno == EIO && vaxc$errno == SS$_EXQUOTA)
+#define SS$_EXBYTLM 0x2a14 /* VMS 8.4 seen */
+ else if (errno == EIO &&
+ (vaxc$errno == SS$_EXQUOTA ||
+ vaxc$errno == SS$_EXBYTLM))
close_one();
#endif
else {
@@ -2632,7 +2635,10 @@ do_find_source(const char *src, struct stat *stb, int *errcode, path_info *pi)
return NULL;
}
erealloc(path, char *, strlen(path) + strlen(src) + 2, "do_find_source");
-#ifndef VMS
+#ifdef VMS
+ if (strcspn(path,">]:") == strlen(path))
+ strcat(path, "/");
+#else
strcat(path, "/");
#endif
strcat(path, src);
diff --git a/vms/ChangeLog b/vms/ChangeLog
index 8dc413dd..18d70b5c 100644
--- a/vms/ChangeLog
+++ b/vms/ChangeLog
@@ -1,3 +1,8 @@
+2013-12-01 Arnold D. Robbins <arnold@skeeve.com>
+
+ * vms-conf.h (ALLOW_SWITCH): Removed. No longer used.
+ (__attribute__): Define as empty.
+
2013-08-26 Arnold D. Robbins <arnold@skeeve.com>
* vms-conf.h (RE_TOKEN_INIT_BUG): Remove define (change of
diff --git a/vms/vms-conf.h b/vms/vms-conf.h
index 84346a8d..60464f06 100644
--- a/vms/vms-conf.h
+++ b/vms/vms-conf.h
@@ -28,9 +28,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
-/* switch statements are enabled in awk programs */
-#undef ALLOW_SWITCH
-
#if 0 /* no longer used */
/* Define to 1 if using alloca.c. */
#define C_ALLOCA 1
@@ -553,8 +550,6 @@
/* Gawk configuration options. */
/*******************************/
-#define ALLOW_SWITCH 1
-
/*
* DEFPATH
* VMS: "/AWK_LIBRARY" => "AWK_LIBRARY:"
@@ -678,6 +673,8 @@
#include "vms/redirect.h"
#undef IN_CONFIG_H
+#define __attribute__(x)
+
#endif /*"custom.h"*/
#endif /*CONFIG_H*/