This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Hi Joseph, Paul,
> On Mon, 11 Mar 2019, Paul Eggert wrote:
>
> > On 2/27/19 3:20 AM, Lukasz Majewski wrote:
> > > +/* Another name for `__mktime64'. */
> > > +extern __time64_t __timelocal64 (struct tm *__tp) __THROW;
> >
> > In hindsight the name 'timelocal' was a mistake: it's not a portable
> > name and its use has not caught on. Although we need to keep
> > 'timelocal' for backwards compatibility, there's no need to define
> > 'timelocal64', as the very few people who need such a function can
> > just call mktime64. So I suggest removing all traces of
> > timelocal64, __timelocal64, etc. from the patch.
>
> Neither timelocal64 nor mktime64 will be a public API; the public API
> is to define _TIME_BITS=64 (and _FILE_OFFSET_BITS=64 because we don't
> want to support the combination of 64-bit times with 32-bit offsets)
> before including any system headers, then call the existing function
> names.
I do have a doubt if I understood the above comment(s).
Please correct me if I'm wrong - this patch makes the
__mktime_internal compatible with __time_64 explicit 64 bit time data
structure.
It's goal is to replace all calls to mktime/timegm/localtime with
__mktime64/__timegm64/__localtime64 (alias to __mktime64) internal
counterparts (another level of abstraction with explicit 64 bit time
storage).
Then, the __mktime64() internal function is used to implement mktime
wrapper for 32-bit time (the same approach is for timegm).
This patch looks like a preparatory patch for further Y2038 conversion
(but doesn't provide one).
>
> Given timelocal as part of the __USE_MISC API in time.h, it should be
> part of the __USE_MISC __TIME_BITS=64 API there as well - but it's
This patch doesn't introduce/use the _TIME_BITS=64 - instead it
operates on TIMESIZE=64.
> fine for that case to redirect to __mktime64 (and thus not need
> __timelocal64 as another alias).
>
Do you require following code in include/time.h for timelocal:
#if defined __USE_MISC
# if defined(__REDIRECT)
extern int __REDIRECT (timelocal, (struct tm *__tp),
__mktime64) __THROW);
# else
# define timelocal __mktime64
# endif
#endif
The problem seems to be that Paul requested to remove {__}timelocal64
from this patch and you pointed out that timelocal is already supported
when __USE_MISC is defined?
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
Attachment:
pgpptWYe52GMx.pgp
Description: OpenPGP digital signature
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |