1. 13 9月, 2018 1 次提交
    • R
      reduce spurious inclusion of libc.h · 5ce37379
      Rich Felker 提交于
      libc.h was intended to be a header for access to global libc state and
      related interfaces, but ended up included all over the place because
      it was the way to get the weak_alias macro. most of the inclusions
      removed here are places where weak_alias was needed. a few were
      recently introduced for hidden. some go all the way back to when
      libc.h defined CANCELPT_BEGIN and _END, and all (wrongly implemented)
      cancellation points had to include it.
      
      remaining spurious users are mostly callers of the LOCK/UNLOCK macros
      and files that use the LFS64 macro to define the awful *64 aliases.
      
      in a few places, new inclusion of libc.h is added because several
      internal headers no longer implicitly include libc.h.
      
      declarations for __lockfile and __unlockfile are moved from libc.h to
      stdio_impl.h so that the latter does not need libc.h. putting them in
      libc.h made no sense at all, since the macros in stdio_impl.h are
      needed to use them correctly anyway.
      5ce37379
  2. 22 2月, 2018 2 次提交
    • R
      convert execvp error handling to switch statement · 6d610242
      Rich Felker 提交于
      this is more extensible if we need to consider additional errors, and
      more efficient as long as the compiler does not know it can cache the
      result of __errno_location (a surprisingly complex issue detailed in
      commit a603a75a).
      6d610242
    • P
      fix execvp failing on not-dir entries in PATH. · 8e0b3806
      Przemyslaw Pawelczyk 提交于
      It's better to make execvp continue PATH search on ENOTDIR rather than
      issuing an error. Bogus entries should not render rest of PATH invalid.
      
      Maintainer's note: POSIX seems to require the search to continue like
      this as part of XBD 8.3 Other Environment Variables. Only errors that
      conclusively determine non-existence are candidates for continuing;
      otherwise for consistency we have to report the error.
      8e0b3806
  3. 03 2月, 2015 1 次提交
    • R
      make execvp continue PATH search on EACCES rather than issuing an errror · 14a01171
      Rich Felker 提交于
      the specification for execvp itself is unclear as to whether
      encountering a file that cannot be executed due to EACCES during the
      PATH search is a mandatory error condition; however, XBD 8.3's
      specification of the PATH environment variable clarifies that the
      search continues until a file with "appropriate execution permissions"
      is found.
      
      since it seems undesirable/erroneous to report ENOENT rather than
      EACCES when an early path element has a non-executable file and all
      later path elements lack any file by the requested name, the new code
      stores a flag indicating that EACCES was seen and sets errno back to
      EACCES in this case.
      14a01171
  4. 20 4月, 2014 1 次提交
  5. 18 2月, 2013 1 次提交
    • R
      consistently use the internal name __environ for environ · 23ccb80f
      Rich Felker 提交于
      patch by Jens Gustedt.
      previously, the intended policy was to use __environ in code that must
      conform to the ISO C namespace requirements, and environ elsewhere.
      this policy was not followed in practice anyway, making things
      confusing. on top of that, Jens reported that certain combinations of
      link-time optimization options were breaking with the inconsistent
      references; this seems to be a compiler or linker bug, but having it
      go away is a nice side effect of the changes made here.
      23ccb80f
  6. 19 10月, 2012 1 次提交
  7. 29 9月, 2011 1 次提交
  8. 12 2月, 2011 1 次提交