[U-Boot] [PATCH v3 06/16] linux/time.h: include vsprintf.h

AKASHI Takahiro takahiro.akashi at linaro.org
Wed Nov 27 01:27:07 UTC 2019


On Tue, Nov 26, 2019 at 08:31:18AM +0100, Heinrich Schuchardt wrote:
> On 11/26/19 4:56 AM, Heinrich Schuchardt wrote:
> >On 11/13/19 1:44 AM, AKASHI Takahiro wrote:
> >>Without this commit, time.h possibly causes a build error as
> >>asctime_r() uses sprintf().
> >
> >asctime_r() is not a Linux symbol (as of next-20191119)

I simply don't get your point here.

> >
> >ctime_r() and asctime_r() are defined as inline functions. ctime_r() is
> >used in multiple places and so we may end up duplicating code. So I
> >would prefer the inline functions in time.h to be moved to a separate C
> >file in lib/.

Basically I'm reluctant to do so.
I have never touched ctime_r() nor asctime_r() as they were introduced
by Wolfgang in 2002. Since then, nobody complained. So why now?

> >Best regards
> >
> >Heinrich
> Could it be that in one of your C files you simply didn't follow the
> U-Boot coding style convention to include common.h first

I will address this issue in general in the future.

> and we don't
> need this patch at all?

I commented against this above.
I believe that *hidden* dependency of include files should not be
exposed to users. In this case, for example, any code that uses
asctime_r() should not be bothered with such a dependency as
the code doesn't know what functions asctime_r() internally uses
or even if that function is inline or not.
I also mentioned this in another thread in different words:

-Takahiro Akashi

> https://www.denx.de/wiki/U-Boot/CodingStyle#Include_files
> Best regards
> Heinrich

More information about the U-Boot mailing list