about summary refs log tree commit diff
path: root/src/time/time_impl.h
Commit message (Collapse)AuthorAgeFilesLines
* move declaration and apply hidden visibility to __utc stringRich Felker2018-09-121-0/+1
|
* apply hidden visibility to internal time[zone] implementation functionsRich Felker2018-09-121-8/+8
|
* overhaul internally-public declarations using wrapper headersRich Felker2018-09-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* move __strftime_fmt_1 declaration to time_impl.hRich Felker2018-09-121-0/+1
| | | | this is a helper function from strftime that's also used by wcsftime.
* move __tm_to_tzname declaration to time_impl.h with related functionsRich Felker2018-09-121-0/+1
| | | | | | this function was added later for strftime use and the existence of time_impl.h as the appropriate place for it seems to have been overlooked.
* the big time handling overhaulRich Felker2013-07-171-0/+9
this commit has two major user-visible parts: zoneinfo-format time zones are now supported, and overflow handling is intended to be complete in the sense that all functions return a correct result if and only if the result fits in the destination type, and otherwise return an error. also, some noticable bugs in the way DST detection and normalization worked have been fixed, and performance may be better than before, but it has not been tested.