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. 06 4月, 2013 1 次提交
    • I
      Add ABI compatability aliases. · 14f0272e
      Isaac Dunham 提交于
      GNU used several extensions that were incompatible with C99 and POSIX,
      so they used alternate names for the standard functions.
      
      The result is that we need these to run standards-conformant programs
      that were linked with glibc.
      14f0272e
  3. 07 9月, 2012 1 次提交
    • R
      use restrict everywhere it's required by c99 and/or posix 2008 · 400c5e5c
      Rich Felker 提交于
      to deal with the fact that the public headers may be used with pre-c99
      compilers, __restrict is used in place of restrict, and defined
      appropriately for any supported compiler. we also avoid the form
      [restrict] since older versions of gcc rejected it due to a bug in the
      original c99 standard, and instead use the form *restrict.
      400c5e5c
  4. 17 4月, 2012 1 次提交
    • R
      new scanf implementation and corresponding integer parser/converter · 18efeb32
      Rich Felker 提交于
      advantages over the old code:
      - correct results for floating point (old code was bogus)
      - wide/regular scanf separated so scanf does not pull in wide code
      - well-defined behavior on integers that overflow dest type
      - support for %[a-b] ranges with %[ (impl-defined by widely used)
      - no intermediate conversion of fmt string to wide string
      - cleaner, easier to share code with strto* functions
      - better standards conformance for corner cases
      
      the old code remains in the source tree, as the wide versions of the
      scanf-family functions are still using it. it will be removed when no
      longer needed.
      18efeb32
  5. 12 2月, 2011 1 次提交