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. 12 12月, 2013 1 次提交
  3. 28 9月, 2012 1 次提交
    • R
      optimize strchrnul/strcspn not to scan string twice on no-match · 68dbd050
      Rich Felker 提交于
      when strchr fails, and important piece of information already
      computed, the string length, is thrown away. have strchrnul (with
      namespace protection) be the underlying function so this information
      can be kept, and let strchr be a wrapper for it. this also allows
      strcspn to be considerably faster in the case where the match set has
      a single element that's not matched.
      68dbd050
  4. 12 2月, 2011 1 次提交