summaryrefslogtreecommitdiff
path: root/vms
diff options
context:
space:
mode:
authorPerl 5 Porters <perl5-porters@africa.nicoh.com>1997-03-01 18:40:49 +1200
committerChip Salzenberg <chip@atlantic.net>1997-03-01 18:40:49 +1200
commit9607fc9c489d4095e3baa795d7ead7acba96137d (patch)
tree2dfac2b59f20ce6d1dccd5bbdf9343c30dae8992 /vms
parent92112241d1458d5df77a0d57b4e82dca2637735a (diff)
downloadperl-9607fc9c489d4095e3baa795d7ead7acba96137d.tar.gz
[inseparable changes from match from perl-5.003_91 to perl-5.003_92]
CORE LANGUAGE CHANGES Subject: Strictly follow lexical context of C<eval ''> and nested subs From: Chip Salzenberg <chip@perl.com> Files: op.c Subject: Make ::SUPER and UNIVERSAL work together From: Chip Salzenberg <chip@perl.com> Files: gv.c pod/perlguts.pod CORE PORTABILITY Subject: OS/2 patches Date: Wed, 5 Mar 1997 22:08:43 -0500 (EST) From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: hints/os2.sh lib/ExtUtils/MakeMaker.pm t/op/taint.t Msg-ID: 199703060308.WAA22211@monk.mps.ohio-state.edu (applied based on p5p patch as commit eda4d5189d403b15f244b4696a710fb91d15053e) Subject: VMS patches Date: Wed, 05 Mar 1997 23:10:24 -0500 (EST) From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> Files: lib/ExtUtils/MM_VMS.pm lib/ExtUtils/Manifest.pm perlsdio.h t/op/runlevel.t t/op/taint.t vms/descrip.mms vms/perly_c.vms vms/sockadapt.c vms/sockadapt.h vms/vms_yfix.pl private-msgid: 01IG5SQE4A6U00661G@hmivax.humgen.upenn.edu DOCUMENTATION Subject: Add taint checks and srand to perldelta Date: Sun, 2 Mar 1997 11:56:08 -0800 (PST) From: Tom Phoenix <rootbeer@teleport.com> Files: pod/perldelta.pod Msg-ID: Pine.GSO.3.95q.970302115355.23058D-100000@kelly.teleport.com (applied based on p5p patch as commit b28e0bc0aa3232e18d1bacb3efcbfb755ad100e0) Subject: Don't call FileHandle 'deprecated' From: Chip Salzenberg <chip@perl.com> Files: pod/perldelta.pod Subject: Improve sample module header Date: Sat, 01 Mar 1997 10:32:31 -0700 From: Tom Christiansen <tchrist@jhereg.perl.com> Files: pod/perlmod.pod Msg-ID: 199703011732.KAA14693@jhereg.perl.com (applied based on p5p patch as commit 3e1e15658152387f41e00ded4796cede4e1e10d3) Subject: Update list of CPAN sites Date: Sun, 2 Mar 1997 16:54:22 +0200 (EET) From: Jarkko Hietaniemi <jhi@iki.fi> Files: pod/perlmod.pod Msg-ID: 199703021454.QAA07446@alpha.hut.fi (applied based on p5p patch as commit 9423903e60e6c92c1893f5f4cab2476f403f8a4b) Subject: Enhance description of 'server error' Date: Tue, 4 Feb 1997 21:03:23 +0200 (EET) From: Jarkko Hietaniemi <jhi@cc.hut.fi> Files: pod/perldiag.pod private-msgid: 199702041903.VAA16070@alpha.hut.fi Subject: Regularize format of E-Mail addresses in *.pod From: Chip Salzenberg <chip@perl.com> Files: pod/*.pod LIBRARY AND EXTENSIONS Subject: Use IV instead of double for tms structure members From: Chip Salzenberg <chip@perl.com> Files: ext/POSIX/POSIX.xs OTHER CORE CHANGES Subject: Make sure $^X is tainted when ARG_ZERO_IS_SCRIPT From: Chip Salzenberg <chip@perl.com> Files: toke.c Subject: Clarify '-T too late' error From: Chip Salzenberg <chip@perl.com> Files: perl.c pod/perldiag.pod Subject: Warn when redefining or undefining a constant sub From: Chip Salzenberg <chip@perl.com> Files: pod/perldiag.pod pp.c sv.c Subject: Don't generate spurious 'not imported' warning From: Chip Salzenberg <chip@perl.com> Files: gv.c t/pragma/strict-vars pod/perldiag.pod Subject: Clarify message re: @host in string From: Chip Salzenberg <chip@perl.com> Files: pod/perldiag.pod pod/perltrap.pod toke.c Subject: Disconnect refs that are targets of pp_readline From: Chip Salzenberg <chip@perl.com> Files: pp_hot.c Subject: Fix typo in test of HvFILL() From: Chip Salzenberg <chip@perl.com> Files: op.c Subject: Allow for pad name array to be shorter than pad array From: Chip Salzenberg <chip@perl.com> Files: op.c Subject: Eliminate format-string type warnings Date: Mon, 3 Mar 1997 10:15:11 +0100 (MET) From: Hallvard B Furuseth <h.b.furuseth@usit.uio.no> Files: doio.c ext/POSIX/POSIX.xs gv.c hints/dec_osf.sh pp.c pp_ctl.c pp_hot.c run.c sv.c x2p/a2py.c private-msgid: 199703030915.KAA11634@bombur2.uio.no Subject: Update copyright dates From: Chip Salzenberg <chip@perl.com> Files: *.[hc] x2p/*.[hc] win32/EXTERN.h vms/vmsish.h vms/vms.c TESTS Subject: Smarter t/op/taint.t Date: Mon, 3 Mar 1997 10:31:54 -0800 (PST) From: Tom Phoenix <rootbeer@teleport.com> Files: t/op/taint.t private-msgid: Pine.GSO.3.95q.970303103047.24000A-100000@kelly.teleport.com Subject: Fix taint test for systems without csh From: Chip Salzenberg <chip@perl.com> Files: t/op/taint.t
Diffstat (limited to 'vms')
-rw-r--r--vms/config.vms2
-rw-r--r--vms/descrip.mms6
-rw-r--r--vms/perly_c.vms2
-rw-r--r--vms/sockadapt.c61
-rw-r--r--vms/sockadapt.h56
-rw-r--r--vms/vms.c1
-rw-r--r--vms/vms_yfix.pl4
-rw-r--r--vms/vmsish.h1
8 files changed, 105 insertions, 28 deletions
diff --git a/vms/config.vms b/vms/config.vms
index 5a24c33609..03051da43d 100644
--- a/vms/config.vms
+++ b/vms/config.vms
@@ -76,7 +76,7 @@
* when Perl is built. Please do not change it by hand; make
* any changes to FndVers.Com instead.
*/
-#define ARCHLIB_EXP "/perl_root/lib/VMS_VAX/5_00391" /**/
+#define ARCHLIB_EXP "/perl_root/lib/VMS_VAX/5_00392" /**/
#define ARCHLIB ARCHLIB_EXP /*config-skip*/
/* ARCHNAME:
diff --git a/vms/descrip.mms b/vms/descrip.mms
index fc264ff99d..184271c14c 100644
--- a/vms/descrip.mms
+++ b/vms/descrip.mms
@@ -65,7 +65,7 @@ OBJVAL = $(MMS$TARGET_NAME)$(O)
.endif
# Updated by fndvers.com -- do not edit by hand
-PERL_VERSION = 5_00391#
+PERL_VERSION = 5_00392#
ARCHDIR = [.lib.$(ARCH).$(PERL_VERSION)]
@@ -799,8 +799,8 @@ test : all [.t.lib]vmsfspec.t
archify : all
@ Write Sys$Output "Moving files to architecture-specific locations for $(ARCH)"
archroot = "$(ARCHAUTO)" - "]" + "...]"
- Backup/Log/Verify [.lib.auto...]*.*;/Exclude=(*.al,*.ix) 'archroot'
- Delete/Log/NoConfirm [.lib.auto...]*.*;*/exclude=(*.al,*.ix)
+ Backup/Log/Verify [.lib.auto...]*.*;/Exclude=(*.al,*.ix) 'archroot'/New_Version
+ Delete/Log/NoConfirm [.lib.auto...]*.*;*/exclude=(*.al,*.ix,*.dir)
Delete/Log/NoConfirm [.lib]Config.pm;*
Copy/Log/NoConfirm *$(E);,[.x2p]a2p$(E); $(ARCHDIR)
Delete/Log/NoConfirm Perl*$(E);*,[.x2p]a2p$(E);*
diff --git a/vms/perly_c.vms b/vms/perly_c.vms
index d6d35bb610..0949d5bf1d 100644
--- a/vms/perly_c.vms
+++ b/vms/perly_c.vms
@@ -1286,7 +1286,9 @@ yyparse()
int retval = 0;
#if YYDEBUG
register char *yys;
+# ifndef getenv
extern char *getenv();
+# endif
#endif
struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
diff --git a/vms/sockadapt.c b/vms/sockadapt.c
index cc130a5598..e4c3dad213 100644
--- a/vms/sockadapt.c
+++ b/vms/sockadapt.c
@@ -1,28 +1,76 @@
/* sockadapt.c
*
* Author: Charles Bailey bailey@genetics.upenn.edu
- * Last Revised: 29-Jan-1996
+ * Last Revised: 4-Mar-1997
*
* This file should contain stubs for any of the TCP/IP functions perl5
* requires which are not supported by your TCP/IP stack. These stubs
* can attempt to emulate the routine in question, or can just return
* an error status or cause perl to die.
*
- * This version is set up for perl5 with socketshr 0.9D TCP/IP support.
+ * This version is set up for perl5 with UCX (or emulation) via
+ * the DECCRTL or SOCKETSHR 0.9D.
*/
#include "EXTERN.h"
#include "perl.h"
+
#if defined(__DECC) && defined(__DECC_VER) && (__DECC_VER >= 50200000)
+# define __sockadapt_my_hostent_t __struct_hostent_ptr32
# define __sockadapt_my_netent_t __struct_netent_ptr32
+# define __sockadapt_my_servent_t __struct_servent_ptr32
# define __sockadapt_my_addr_t __in_addr_t
# define __sockadapt_my_name_t const char *
#else
+# define __sockadapt_my_hostent_t struct hostent *
# define __sockadapt_my_netent_t struct netent *
+# define __sockadapt_my_servent_t struct servent *
# define __sockadapt_my_addr_t long
# define __sockadapt_my_name_t char *
#endif
+void setnetent(int stayopen) {
+ croak("Function \"setnetent\" not implemented in this version of perl");
+}
+void endnetent() {
+ croak("Function \"endnetent\" not implemented in this version of perl");
+}
+
+#if defined(DECCRTL_SOCKETS)
+ /* Use builtin socket interface in DECCRTL and
+ * UCX emulation in whatever TCP/IP stack is present.
+ */
+
+ void sethostent(int stayopen) {
+ croak("Function \"sethostent\" not implemented in this version of perl");
+ }
+ void endhostent() {
+ croak("Function \"endhostent\" not implemented in this version of perl");
+ }
+ void setprotoent(int stayopen) {
+ croak("Function \"setprotoent\" not implemented in this version of perl");
+ }
+ void endprotoent() {
+ croak("Function \"endprotoent\" not implemented in this version of perl");
+ }
+ void setservent(int stayopen) {
+ croak("Function \"setservent\" not implemented in this version of perl");
+ }
+ void endservent() {
+ croak("Function \"endservent\" not implemented in this version of perl");
+ }
+ __sockadapt_my_hostent_t gethostent() {
+ croak("Function \"gethostent\" not implemented in this version of perl");
+ return (__sockadapt_my_hostent_t )NULL; /* Avoid MISSINGRETURN warning, not reached */
+ }
+ __sockadapt_my_servent_t getservent() {
+ croak("Function \"getservent\" not implemented in this version of perl");
+ return (__sockadapt_my_servent_t )NULL; /* Avoid MISSINGRETURN warning, not reached */
+ }
+
+#else
+ /* Work around things missing/broken in SOCKETSHR. */
+
__sockadapt_my_netent_t getnetbyaddr( __sockadapt_my_addr_t net, int type) {
croak("Function \"getnetbyaddr\" not implemented in this version of perl");
return (struct netent *)NULL; /* Avoid MISSINGRETURN warning, not reached */
@@ -33,13 +81,7 @@ __sockadapt_my_netent_t getnetbyname( __sockadapt_my_name_t name) {
}
__sockadapt_my_netent_t getnetent() {
croak("Function \"getnetent\" not implemented in this version of perl");
- return (struct netent *)NULL; /* Avoid MISSINGRETURN warning, not reached */
-}
-void setnetent() {
- croak("Function \"setnetent\" not implemented in this version of perl");
-}
-void endnetent() {
- croak("Function \"endnetent\" not implemented in this version of perl");
+ return (__sockadapt_my_netent_t )NULL; /* Avoid MISSINGRETURN warning, not reached */
}
/* Some TCP/IP implementations seem to return success, when getpeername()
@@ -64,3 +106,4 @@ int my_getpeername(int sock, struct sockaddr *addr, int *addrlen) {
}
return rslt;
}
+#endif /* SOCKETSHR stuff */
diff --git a/vms/sockadapt.h b/vms/sockadapt.h
index 041fbd7073..e104ca7f3c 100644
--- a/vms/sockadapt.h
+++ b/vms/sockadapt.h
@@ -2,7 +2,7 @@
*
* Authors: Charles Bailey bailey@genetics.upenn.edu
* David Denholm denholm@conmat.phys.soton.ac.uk
- * Last Revised: 17-Mar-1995
+ * Last Revised: 4-Mar-1997
*
* This file should include any other header files and procide any
* declarations, typedefs, and prototypes needed by perl for TCP/IP
@@ -11,15 +11,33 @@
* This version is set up for perl5 with socketshr 0.9D TCP/IP support.
*/
-/* SocketShr doesn't support these routines, but the DECC RTL contains
- * stubs with these names, designed to be used with the UCX socket
- * library. We avoid linker collisions by substituting new names.
- */
-#define getnetbyaddr no_getnetbyaddr
-#define getnetbyname no_getnetbyname
-#define getnetent no_getnetent
-#define setnetent no_setnetent
-#define endnetent no_endnetent
+#ifndef __SOCKADAPT_INCLUDED
+#define __SOCKADAPT_INCLUDED 1
+
+#if defined(DECCRTL_SOCKETS)
+ /* Use builtin socket interface in DECCRTL and
+ * UCX emulation in whatever TCP/IP stack is present.
+ * Provide prototypes for missing routines; stubs are
+ * in sockadapt.c.
+ */
+# include <socket.h>
+# include <inet.h>
+# include <in.h>
+# include <netdb.h>
+ void sethostent(int);
+ void endhostent(void);
+ void setnetent(int);
+ void endnetent(void);
+ void setprotoent(int);
+ void endprotoent(void);
+ void setservent(int);
+ void endservent(void);
+
+#else
+ /* Pull in SOCKETSHR's header, and set up structures for
+ * gcc, whose basic header file set doesn't include the
+ * TCP/IP stuff.
+ */
#ifdef __GNU_CC__
@@ -109,7 +127,7 @@ struct netent {
struct netent *getnetbyaddr( long net, int type);
struct netent *getnetbyname( char *name);
struct netent *getnetent();
-void setnetent();
+void setnetent(int);
void endnetent();
#else /* !__GNU_CC__ */
@@ -123,13 +141,22 @@ void endnetent();
#include <inet.h>
#include <netdb.h>
/* However, we don't have these two in the system headers. */
-void setnetent();
+void setnetent(int);
void endnetent();
+/* SocketShr doesn't support these routines, but the DECC RTL contains
+ * stubs with these names, designed to be used with the UCX socket
+ * library. We avoid linker collisions by substituting new names.
+ */
+#define getnetbyaddr no_getnetbyaddr
+#define getnetbyname no_getnetbyname
+#define getnetent no_getnetent
+#define setnetent no_setnetent
+#define endnetent no_endnetent
#endif
#include <socketshr.h>
-/* socketshr.h from SocketShr 0.9D doesn't alias fileno; it's comments say
+/* socketshr.h from SocketShr 0.9D doesn't alias fileno; its comments say
* that the CRTL version works OK. This isn't the case, at least with
* VAXC, so we use the SocketShr version.
* N.B. This means that sockadapt.h must be included *after* stdio.h.
@@ -148,3 +175,6 @@ int si_fileno(FILE *);
#endif
#define getpeername my_getpeername
int my_getpeername _((int, struct sockaddr *, int *));
+
+#endif /* SOCKETSHR stuff */
+#endif /* include guard */
diff --git a/vms/vms.c b/vms/vms.c
index 107ad3291c..ef00a607db 100644
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -2343,7 +2343,6 @@ trim_unixpath(char *fspec, char *wildspec, int opts)
/*
* VMS readdir() routines.
* Written by Rich $alz, <rsalz@bbn.com> in August, 1990.
- * This code has no copyright.
*
* 21-Jul-1994 Charles Bailey bailey@genetics.upenn.edu
* Minor modifications to original routines.
diff --git a/vms/vms_yfix.pl b/vms/vms_yfix.pl
index 9f29c80825..f57ea1d515 100644
--- a/vms/vms_yfix.pl
+++ b/vms/vms_yfix.pl
@@ -23,6 +23,10 @@ while (<C>) {
# "y.tab.c" is illegal as a VMS filename; DECC 5.2/VAX preprocessor
# doesn't like this.
if ( s/^#line\s+(\d+)\s+"y.tab.c"/#line $1 "y_tab.c"/ ) { 1; }
+ elsif (/char \*getenv/) {
+ # accomodate old VAXC's macro susbstitution pecularities
+ $_ = "# ifndef getenv\n$_# endif\n";
+ }
else {
# add the dEXT tag to definitions of global vars, so we'll insert
# a globaldef when perly.c is compiled
diff --git a/vms/vmsish.h b/vms/vmsish.h
index 61543415e2..fd4434efb2 100644
--- a/vms/vmsish.h
+++ b/vms/vmsish.h
@@ -360,7 +360,6 @@ struct utimbuf {
* opendir(), closedir(), readdir(), seekdir(), telldir(), and
* vmsreaddirversions(), and preprocessor stuff on which these depend:
* Written by Rich $alz, <rsalz@bbn.com> in August, 1990.
- * This code has no copyright.
*/
/* Data structure returned by READDIR(). */
struct dirent {