develooper Front page | perl.perl5.changes | Postings from January 2022

[Perl/perl5] 1c267c: Provide asciiopen and asciiopen3 for z/OS ASCIII/O

Karl Williamson via perl5-changes
January 2, 2022 01:09
[Perl/perl5] 1c267c: Provide asciiopen and asciiopen3 for z/OS ASCIII/O
Message ID:
  Branch: refs/heads/blead
  Commit: 1c267c880abb4d52f0dc23c70636b5f2e80253be
  Author: Mike Fulton <>
  Date:   2022-01-01 (Sat, 01 Jan 2022)

  Changed paths:
    M doio.c
    M iperlsys.h

  Log Message:
  Provide asciiopen and asciiopen3 for z/OS ASCII I/O

 - Provide an _asciiopen_ and _asciiopen3_ pair of functions for opening
   files on z/OS. These services do a standard open and then, if the
   open is successful, update the CCSID of the file descriptor to 819
   (ASCII) iff the oflag has ``O_CREAT`` set (e.g. a file is being
   created).  We could consider printing out a warning if a file is
   untagged - right now this will _work correctly_ if the file in
   encoded as ASCII (CCSID 819) but will fail if the file is EBCDIC.

 - Provide a wrapper _Perl_mkstemp_cloexec_ which not only creates a
   temporary file using mkstemp but will also tag the file as CCSID 819.
   The tagging is only performed if ``__CHARSET_LIB == 1``, i.e. the
   code is compiled with -qascii.

 - Define _PerlIO_open_ and _PerlLIO_open3_ as _asciiopen_ and
   _asciiopen3_ respectively, when the code is built for ASCII ``#if
   (__CHARSET_LIB == 1)`` on z/OS ``#if defined(OEMVS)``. Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About