diff options
author | Perl 5 Porters <perl5-porters@africa.nicoh.com> | 1997-03-01 18:40:49 +1200 |
---|---|---|
committer | Chip Salzenberg <chip@atlantic.net> | 1997-03-01 18:40:49 +1200 |
commit | 9607fc9c489d4095e3baa795d7ead7acba96137d (patch) | |
tree | 2dfac2b59f20ce6d1dccd5bbdf9343c30dae8992 /vms | |
parent | 92112241d1458d5df77a0d57b4e82dca2637735a (diff) | |
download | perl-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.vms | 2 | ||||
-rw-r--r-- | vms/descrip.mms | 6 | ||||
-rw-r--r-- | vms/perly_c.vms | 2 | ||||
-rw-r--r-- | vms/sockadapt.c | 61 | ||||
-rw-r--r-- | vms/sockadapt.h | 56 | ||||
-rw-r--r-- | vms/vms.c | 1 | ||||
-rw-r--r-- | vms/vms_yfix.pl | 4 | ||||
-rw-r--r-- | vms/vmsish.h | 1 |
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 */ @@ -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 { |