bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] IBM z/OS + EBCDIC support


From: Paul Eggert
Subject: Re: [PATCH] IBM z/OS + EBCDIC support
Date: Tue, 22 Sep 2015 12:50:44 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0

A few non-ctype-related comments:

Omit parens around arguments of 'defined', e.g., say "defined __MVS__" not "defined (__MVS__)".

I agree with Eric that we should rename "__string" rather than fiddle with #undefing it. It's just a placeholder name. I suggest renaming it to "__str". We can backport this to glibc eventually.

In strtod.c, don't bother with "if (errno == ERANGE) errno = 0;". Just do "errno = 0;".

Also in strtod.c, don't assume isnand exists. That is, replace "!isnand(num)" with "num == num".

Update serial numbers in changed .m4 files.

In m4/fclose.m4, gl_FUNC_FCLOSE should AC_REQUIRE([AC_CANONICAL_HOST]). Also, it should test $host_os rather than $host.

In m4/strstr.m4, the __MVS__ failure should be at compile-time, with #error, rather than at run-time. That's better if cross-compiling.

In comments, prefer imperatives, e.g., "Instead, temporarily redefine ..." rather than "Instead, we temporarily redefine ...". This is standard GNU style and is shorter.

The get_rusage_as code has duplications.  Simpler would be:

  uintptr_t
  get_rusage_as (void)
  {
    /* On Mac OS X, AIX, Cygwin, and z/OS, get_rusage_as_via_setrlimit
       exists but does not work.  */
  #if (! ((defined __APPLE__ && defined __MACH__)                         \
      || defined _AIX || defined __CYGWIN__ || defined __MVS__)       \
&& HAVE_SETRLIMIT && defined RLIMIT_AS && HAVE_SYS_MMAN_H && HAVE_MPROTECT)
    /* Prefer get_rusage_as_via_setrlimit() if it succeeds,
       because the caller may want to use the result with setrlimit().  */
    uintptr_t result = get_rusage_as_via_setrlimit ();
    if (result != 0)
      return result;
  #endif
    return get_rusage_as_via_iterator ();
  }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]