Hi On Thu, Jun 1, 2023 at 7:20 AM Bruno Haible <br...@clisp.org> wrote:
> Mike Fulton wrote: > > Yes - good point - this would not work if it was built in 31-bit > addressing > > mode, non-XPLINK. 64-bit is always XPLINK. That would be a good addition. > > OK, thanks for the confirmation. I pushed this change: > > > 2023-06-01 Bruno Haible <br...@clisp.org> > > getprogname: Add support for ASCII-compatible environments in z/OS. > Reported by Mike Fulton <mikefultonperso...@gmail.com> in > < > https://lists.gnu.org/archive/html/bug-gnulib/2023-05/msg00198.html>. > * lib/getprogname.c (getprogname): On z/OS, when compiling for an > ASCII-compatible environment, convert the result from EBCDIC to > ASCII. > > diff --git a/lib/getprogname.c b/lib/getprogname.c > index 279d79f012..204855a4a8 100644 > --- a/lib/getprogname.c > +++ b/lib/getprogname.c > @@ -212,7 +212,19 @@ getprogname (void) > { > char *s = strdup (last_component (buf.ps_pathptr)); > if (s) > - p = s; > + { > +# if defined __XPLINK__ && __CHARSET_LIB == 1 > + /* The compiler option -qascii is in use. > + > https://makingdeveloperslivesbetter.wordpress.com/2022/01/07/is-z-os-ascii-or-ebcdic-yes/ > + > https://www.ibm.com/docs/en/zos/2.5.0?topic=features-macros-related-compiler-option-settings > + So, convert the result from EBCDIC to ASCII. > + > https://www.ibm.com/docs/en/zos/2.5.0?topic=functions-e2a-s-convert-string-from-ebcdic-ascii > */ > + if (__e2a_s (s) == (size_t)-1) > + free (s); > + else > +# endif > + p = s; > + } > break; > } > } > > > Wonderful! Thank you