Skip to content

Commit

Permalink
fixes a critical times.nim bug reported on IRC [backport] (#13216)
Browse files Browse the repository at this point in the history
  • Loading branch information
Araq authored Jan 21, 2020
1 parent b355ef2 commit bdb7c82
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
3 changes: 3 additions & 0 deletions lib/pure/strformat.nim
Original file line number Diff line number Diff line change
Expand Up @@ -717,6 +717,9 @@ when isMainModule:
var tm = fromUnix(0)
discard &"{tm}"

var noww = now()
check &"{noww}", $noww

# Unicode string tests
check &"""{"αβγ"}""", "αβγ"
check &"""{"αβγ":>5}""", " αβγ"
Expand Down
5 changes: 3 additions & 2 deletions lib/pure/times.nim
Original file line number Diff line number Diff line change
Expand Up @@ -2339,9 +2339,10 @@ proc format*(dt: DateTime, f: static[string]): string {.raises: [].} =
const f2 = initTimeFormat(f)
result = dt.format(f2)

template formatValue*(result: var string; value: DateTime, specifier: string) =
proc formatValue*(result: var string; value: DateTime, specifier: string) =
## adapter for strformat. Not intended to be called directly.
result.add format(value, specifier)
result.add format(value,
if specifier.len == 0: "yyyy-MM-dd'T'HH:mm:sszzz" else: specifier)

proc format*(time: Time, f: string, zone: Timezone = local()): string
{.raises: [TimeFormatParseError].} =
Expand Down

0 comments on commit bdb7c82

Please sign in to comment.