mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-01 05:33:36 +08:00
ccadf7b534
2004-03-14 Ulrich Drepper <drepper@redhat.com> Make the non-_l functions wrappers around the _l functions. * include/monetary.h: Declare __vstrmon_l. * include/string.h: Add libc_hidden_proto for __strcoll_l and __strxfrm_l. * include/time.h: Define ptime_locale_status. Declare __strptime_internal. * include/wchar.h: Add libc_hidden_proto for __wcscoll_l and __wcsxfrm_l. * stdlib/strfmon.c: Move the code to strfmon_l.c. Add little wrapper around __vstrfmon_l. * stdlib/strfmon_l.c: Add real implementation. Split into new function __vstrfmon_l to allow calling it from strfmon. * stdlib/strtod.c: Move real code to strtod_l.c and add wrapper. * stdlib/strtod_l.c: Add real implementation. * stdlib/strtof.c: Adjust to changed strtod.c. * stdlib/strtof_l.c: Include strtod_l.c now. * stdlib/strtold.c: New file. * stdlib/strtold_l.c: Removed. * string/strcoll.c: Move real code to strcoll_l.c: Add wrapper. * string/strcoll_l.c: Add real implementation. * string/strxfrm.c: Move real code to strxfrm_l.c: Add wrapper. * string/strxfrm_l.c: Add real implementation. * sysdeps/generic/strtol.c: Move real implementation to strtol_l.c. Add wrappers. * sysdeps/generic/strtol_l.c: Add real implementation. * sysdeps/generic/strtold.c: Removed. * sysdeps/generic/strtold_l.c: New file. * sysdeps/generic/strtoll_l.c: Include strtol_l.c now. Adjust #defines. * sysdeps/generic/strtoul_l.c: Likewise. * sysdeps/generic/strtoull_l.c: Likewise. * sysdeps/generic/wcstol_l.c: Likewise. * sysdeps/generic/wcstoll_l.c: Likewise. * sysdeps/generic/wcstoul_l.c: Likewise. * sysdeps/generic/wcstoull_l.c: Likewise. * sysdeps/ieee754/ldbl-128/strtold.c: Removed. * sysdeps/ieee754/ldbl-128/strtold_l.c: New file. * sysdeps/ieee754/ldbl-96/strtold.c: Removed. * sysdeps/ieee754/ldbl-96/strtold_l.c: New file. * sysdeps/m68k/strtold.c: Removed. * sysdeps/m68k/strtold_l.c: New file. * time/strftime.c: Move real code to strftime_l.c. Add wrapper. * time/strftime_l.c: Add real implementation. * time/strptime.c: Move real code to strptime_l.c. Add wrapper. * time/strptime_l.c: Add real implementation. * time/wcsftime.c: Simplify since only wrappers are defined in strftime.c. * time/wcsftime_l.c: Include strftime_l.c. * wcsmbs/wcscoll.c: Simplify since the file is not used by wcscoll_l.c anymore. * wcsmbs/wcscoll_l.c: Include strcoll_l.c. * wcsmbs/wcsxfrm.c: Simplify since the file is not used by wcsxfrm_l.c anymore. * wcsmbs/wcsxfrm_l.c: Include strxfrm_l.c. * wcsmbs/wcstod.c: Prepare to include new strtod.c. * wcsmbs/wcstod_l.c: Include strtod_l.c. * wcsmbs/wcstof.c: Prepare to include new strtof.c. * wcsmbs/wcstof_l.c: Include strtof_l.c. * wcsmbs/wcstold.c: Prepare to include new strtold.c. * wcsmbs/wcstold_l.c: Include strtold_l.c. * locale/uselocale.c: Use _NL_CURRENT_LOCALE instead of __libc_tsd_get. * sysdeps/generic/strcasecmp.c: Optimize a bit. It's better to get a reference to the current locale and then use the _l functions. * sysdeps/generic/strncase.c: Likewise.
107 lines
3.2 KiB
C
107 lines
3.2 KiB
C
#ifndef _TIME_H
|
|
#if defined __need_time_t || defined __need_clock_t || defined __need_timespec
|
|
# include <time/time.h>
|
|
#else
|
|
# include <time/time.h>
|
|
# include <xlocale.h>
|
|
|
|
extern __typeof (strftime_l) __strftime_l;
|
|
libc_hidden_proto (__strftime_l)
|
|
extern __typeof (strptime_l) __strptime_l;
|
|
|
|
libc_hidden_proto (time)
|
|
libc_hidden_proto (asctime)
|
|
libc_hidden_proto (mktime)
|
|
libc_hidden_proto (timelocal)
|
|
libc_hidden_proto (localtime)
|
|
libc_hidden_proto (strftime)
|
|
libc_hidden_proto (strptime)
|
|
|
|
/* Now define the internal interfaces. */
|
|
struct tm;
|
|
|
|
/* Defined in mktime.c. */
|
|
extern const unsigned short int __mon_yday[2][13] attribute_hidden;
|
|
|
|
/* Defined in localtime.c. */
|
|
extern struct tm _tmbuf attribute_hidden;
|
|
|
|
/* Defined in tzset.c. */
|
|
extern char *__tzstring (const char *string);
|
|
|
|
/* Defined in tzset.c. */
|
|
extern size_t __tzname_cur_max attribute_hidden;
|
|
|
|
|
|
extern int __use_tzfile attribute_hidden;
|
|
|
|
extern void __tzfile_read (const char *file, size_t extra,
|
|
char **extrap);
|
|
extern void __tzfile_compute (time_t timer, int use_localtime,
|
|
long int *leap_correct, int *leap_hit,
|
|
struct tm *tp);
|
|
extern void __tzfile_default (const char *std, const char *dst,
|
|
long int stdoff, long int dstoff);
|
|
|
|
/* Subroutine of `mktime'. Return the `time_t' representation of TP and
|
|
normalize TP, given that a `struct tm *' maps to a `time_t' as performed
|
|
by FUNC. Keep track of next guess for time_t offset in *OFFSET. */
|
|
extern time_t __mktime_internal (struct tm *__tp,
|
|
struct tm *(*__func) (const time_t *,
|
|
struct tm *),
|
|
time_t *__offset);
|
|
extern struct tm *__localtime_r (__const time_t *__timer,
|
|
struct tm *__tp) attribute_hidden;
|
|
|
|
extern struct tm *__gmtime_r (__const time_t *__restrict __timer,
|
|
struct tm *__restrict __tp);
|
|
libc_hidden_proto (__gmtime_r)
|
|
|
|
/* Compute the `struct tm' representation of *T,
|
|
offset OFFSET seconds east of UTC,
|
|
and store year, yday, mon, mday, wday, hour, min, sec into *TP.
|
|
Return nonzero if successful. */
|
|
extern int __offtime (__const time_t *__timer,
|
|
long int __offset,
|
|
struct tm *__tp);
|
|
|
|
extern char *__asctime_r (__const struct tm *__tp, char *__buf);
|
|
extern void __tzset (void);
|
|
|
|
/* Prototype for the internal function to get information based on TZ. */
|
|
extern struct tm *__tz_convert (const time_t *timer, int use_localtime, struct tm *tp);
|
|
|
|
/* Return the maximum length of a timezone name.
|
|
This is what `sysconf (_SC_TZNAME_MAX)' does. */
|
|
extern long int __tzname_max (void);
|
|
|
|
extern int __nanosleep (__const struct timespec *__requested_time,
|
|
struct timespec *__remaining);
|
|
libc_hidden_proto(__nanosleep)
|
|
extern int __getdate_r (__const char *__string, struct tm *__resbufp);
|
|
|
|
|
|
/* Determine CLK_TCK value. */
|
|
extern int __getclktck (void);
|
|
|
|
|
|
/* strptime support. */
|
|
/* Status of lookup: do we use the locale data or the raw data? */
|
|
enum ptime_locale_status { not, loc, raw };
|
|
|
|
extern char * __strptime_internal (const char *rp, const char *fmt,
|
|
struct tm *tm,
|
|
enum ptime_locale_status *decided,
|
|
int era_cnt, __locale_t loc)
|
|
internal_function;
|
|
|
|
|
|
|
|
/* Use in the clock_* functions. Size of the field representing the
|
|
actual clock ID. */
|
|
#ifndef _ISOMAC
|
|
# define CLOCK_IDFIELD_SIZE 3
|
|
#endif
|
|
#endif
|
|
#endif
|