git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 3/3] introduce "format" date-mode

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Jun 30, 2015, 17:48 UTC
Message-ID
<CAPig+cS3_KVHvDL=nW+9dDveAp3MvAtjKyChPAOVXGfwZCQ5Ag@mail.gmail.com>
In-Reply-To
<xmqqr3ot6s9u.fsf@gitster.dls.corp.google.com>
On Tue, Jun 30, 2015 at 1:05 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Answering myself to my earlier question, the reason is because I was
> worried what happens when given fmt is a malformed strftime format
> specifier.  Perhaps it ends with a lone % and "% " may format to
> something unexpected, or something.

That's a good point. I had considered prepending the extra character (space) rather than appending it but eventually rejected it to avoid the expense of shifting the characters down by one before returning the formatted string.

However, is it our responsibility to guard against a malformed format? POSIX doesn't state the behavior of "% ", so I don't think we are any worse off by appending space to a malformed format ending with "%" since the malformed format could wreak havoc even without our transformation.

> Are we checking an error from strftime(3)?
According to the "BUGS" section in POSIX:
    If the output string would exceed max bytes, errno is not set.
    This makes it impossible to distinguish this error case from
    cases where the format string legitimately produces a zero-length
    output string. POSIX.1-2001 does not specify any errno settings
    for strftime().
So, there does not seem to be a point in checking 'errno'.
Previous: Junio C HamanoNext: Jeff King
Message 26 of 31 in “several date related issues”
  1. H.Merijn BrandJun 25, 2015
  2. Jeff KingJun 25, 2015
  3. H.Merijn BrandJun 25, 2015
  4. 0/3 localized date formatJeff King, Jun 25, 2015
  5. 1/3 show-branch: use DATE_RELATIVE instead of magic numberJeff King, Jun 25, 2015
  6. 2/3 convert "enum date_mode" into a structJeff King, Jun 25, 2015
  7. John KeepingJun 25, 2015
  8. Jeff KingJun 25, 2015
  9. Junio C HamanoJul 7, 2015
  10. Jeff KingJul 7, 2015
  11. Junio C HamanoJul 7, 2015
  12. Jeff KingJul 7, 2015
  13. Junio C HamanoJul 7, 2015
  14. 3/3 introduce "format" date-modeJeff King, Jun 25, 2015
  15. Eric SunshineJun 29, 2015
  16. Jeff KingJun 30, 2015
  17. Junio C HamanoJun 30, 2015
  18. Jeff KingJun 30, 2015
  19. Junio C HamanoJun 30, 2015
  20. Jeff KingJun 30, 2015
  21. Eric SunshineJun 30, 2015
  22. Jeff KingJun 30, 2015
  23. Eric SunshineJun 30, 2015
  24. Jeff KingJun 30, 2015
  25. Junio C HamanoJun 30, 2015
  26. Eric SunshineJun 30, 2015
  27. Jeff KingJun 30, 2015
  28. Jeff KingJun 30, 2015
  29. Eric SunshineJun 30, 2015
  30. Eric SunshineJul 21, 2015
  31. Jeff KingJul 21, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.