On Wed, 9 May 2001, Craig A. Berry wrote:
> The diffs at the end of this message are a first cut at getting
> PerlIO to work on VMS. I've slapped together a PerlIO_getname
> implementation and flogged a number of other things until they
> compile. I do get a clean compile with this (taken against
> perl@10001) but that's about it; the first attempt to run miniperl
> yields:
[snip]
> --- vms/vmsish.h;-0 Fri May 4 22:03:10 2001
> +++ vms/vmsish.h Tue May 8 22:23:08 2001
> @@ -310,7 +310,7 @@
> #define _ckvmssts_noperl(call) STMT_START { register unsigned long int __ckvms_sts;
>\
> if (!((__ckvms_sts=(call))&1)) { \
> set_errno(EVMSERR); set_vaxc_errno(__ckvms_sts); \
> - fprintf(Perl_debug_log,"Fatal VMS error (status=%d) at %s, line %d", \
> + fprintf(stderr,"Fatal VMS error (status=%d) at %s, line %d", \
> __ckvms_sts,__FILE__,__LINE__); lib$signal(__ckvms_sts); } } STMT_END
>
> #ifdef VMS_DO_SOCKETS
> @@ -411,6 +411,7 @@
>
>
> #ifndef DONT_MASK_RTL_CALLS
> +# define fwrite my_fwrite /* for PerlSIO_fwrite */
> # define fdopen my_fdopen
> # define fclose my_fclose
> #endif
> @@ -774,7 +775,7 @@
> unsigned long int Perl_do_spawn (pTHX_ char *);
> FILE * my_fdopen (int, const char *);
> int my_fclose (FILE *);
> -int my_fwrite (void *, size_t, size_t, FILE *);
> +int my_fwrite (const void *, size_t, size_t, FILE *);
^^^^^
I recall having just added const to vmsish.h so you _may_ want to
update to a newer devel release.
Unfortunately I've not yet had time to play with your proposal. I thought
that I'd simply mention the update now in case I don't get to it for a
while.
Peter Prymmer