On Sun, Jan 24, 2010 at 08:51:58PM +0100, Bruno Haible wrote:
> Hmm, if this is proposed for gnulib, I have 4 remarks:
> 
>   - Error handling: strftime can fail. Since you call xmalloc for the
>     memory allocation, I think it would be reasonable to call error()
>     in case strftime fails.

Ok

>   - Flexibility: The three most often used formats are probably %c, %x, %X.
>     Any function for date formatting should not have the format built-in.
>     It should have a format indication as argument. But then you can also
>     allow the user to pass an entire format string. And define shorthands
>     as reminders like this:
>       #define TIMEFORMAT_LOCALE_DATETIME "%c"
>       #define TIMEFORMAT_LOCALE_DATE "%x"
>       #define TIMEFORMAT_LOCALE_TIME "%X"

Ok

>   - In the average case, you can get away with 1 strftime call instead of 2,
>     if you preallocate a buffer on the stack:
>       char buf[256];
>       len = strftime (buf, sizeof (buf), "%c", loctime) + 1;
>     In the case where 256 bytes are not enough, the function will need
>     3 strftime calls instead of 1, but this case should be pretty rare
>     (even in Chinese and GB18030 encoding, 64 characters should be enough
>     for a date + time display).

What about http://www.gnu.org/prep/standards/standards.html#Semantics ?
Avoiding arbitrary limits is a good thing IMO.

>   - sizeof ("") is confusing. You can write 1 instead.

Ok

-- 
Robert Millan

  "Be the change you want to see in the world" -- Gandhi


Reply via email to