Messages in this thread | | | Date | Tue, 1 Oct 2019 16:33:35 +0300 | From | Andy Shevchenko <> | Subject | Re: [PATCH v1 1/4] lib/vsprintf: Print time64_t in human readable format |
| |
On Tue, Oct 01, 2019 at 02:13:21PM +0200, Alexandre Belloni wrote: > On 01/10/2019 15:11:54+0300, Andy Shevchenko wrote: > > On Tue, Oct 01, 2019 at 01:48:16PM +0200, Alexandre Belloni wrote: > > > On 01/10/2019 14:36:55+0300, Andy Shevchenko wrote: > > > > On Mon, Sep 30, 2019 at 10:08:09PM +0200, Alexandre Belloni wrote: > > > > > > > Maybe be rtc_str should take a struct tm instead of an rtc_time so > > > > > > > time64_to_rtc_time always uses time64_to_tm. > > > > > > > > > > > > Because this one, while sounding plausible, maybe too invasive on current > > > > > > state of affairs. > > > > > > > > > > Well, if the kernel struct tm had an int tm_year instead of long > > > > > tm_year, then you could simply cast a struct rtc_time to a struct tm. > > > > > > > > I don't think so. It will be error prone from endianess prospective on > > > > 64-bit platforms. > > > > > > > > > > I don't get why, as long as the first members of both structs are the > > > same, this should work. > > > > On BE 64-bit we will always get tm_year == 0, won't we? > > > > Not if you have int tm_year in struct tm. I guess we can change the > kernel struct tm because it is not part of the ABI.
We can, but: - it will require to change all `printf("%ld", tm_year)` cases at the same time in entire kernel (and also some functions might start producing warnings when some variable will be cut to int) - it is out of scope of this series
So, I will leave it untouched for now.
-- With Best Regards, Andy Shevchenko
| |