1. 17 8月, 2020 1 次提交
  2. 13 9月, 2018 1 次提交
    • R
      overhaul internally-public declarations using wrapper headers · 13d1afa4
      Rich Felker 提交于
      commits leading up to this one have moved the vast majority of
      libc-internal interface declarations to appropriate internal headers,
      allowing them to be type-checked and setting the stage to limit their
      visibility. the ones that have not yet been moved are mostly
      namespace-protected aliases for standard/public interfaces, which
      exist to facilitate implementing plain C functions in terms of POSIX
      functionality, or C or POSIX functionality in terms of extensions that
      are not standardized. some don't quite fit this description, but are
      "internally public" interfacs between subsystems of libc.
      
      rather than create a number of newly-named headers to declare these
      functions, and having to add explicit include directives for them to
      every source file where they're needed, I have introduced a method of
      wrapping the corresponding public headers.
      
      parallel to the public headers in $(srcdir)/include, we now have
      wrappers in $(srcdir)/src/include that come earlier in the include
      path order. they include the public header they're wrapping, then add
      declarations for namespace-protected versions of the same interfaces
      and any "internally public" interfaces for the subsystem they
      correspond to.
      
      along these lines, the wrapper for features.h is now responsible for
      the definition of the hidden, weak, and weak_alias macros. this means
      source files will no longer need to include any special headers to
      access these features.
      
      over time, it is my expectation that the scope of what is "internally
      public" will expand, reducing the number of source files which need to
      include *_impl.h and related headers down to those which are actually
      implementing the corresponding subsystems, not just using them.
      13d1afa4
  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. 26 3月, 2011 1 次提交
    • R
      fix all implicit conversion between signed/unsigned pointers · 9ae8d5fc
      Rich Felker 提交于
      sadly the C language does not specify any such implicit conversion, so
      this is not a matter of just fixing warnings (as gcc treats it) but
      actual errors. i would like to revisit a number of these changes and
      possibly revise the types used to reduce the number of casts required.
      9ae8d5fc
  5. 12 2月, 2011 1 次提交