diff options
| -rw-r--r-- | nimpb/wkt/duration.nim | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/nimpb/wkt/duration.nim b/nimpb/wkt/duration.nim index ecc7e6b..46e03d4 100644 --- a/nimpb/wkt/duration.nim +++ b/nimpb/wkt/duration.nim @@ -40,13 +40,13 @@ proc parsegoogle_protobuf_Duration*(node: JsonNode): google_protobuf_Duration = let dotIndex = find(node.str, '.') if dotIndex == -1: - result.seconds = parseBiggestInt(node.str[0..^2]) + setSeconds(result, parseBiggestInt(node.str[0..^2])) if result.seconds < -315_576_000_000'i64 or result.seconds > 315_576_000_000'i64: raise newException(nimpb_json.ParseError, "duration seconds out of bounds") return - result.seconds = parseBiggestInt(node.str[0..dotIndex-1]) + setSeconds(result, parseBiggestInt(node.str[0..dotIndex-1])) if result.seconds < -315_576_000_000'i64 or result.seconds > 315_576_000_000'i64: @@ -55,14 +55,14 @@ proc parsegoogle_protobuf_Duration*(node: JsonNode): google_protobuf_Duration = let nanoStr = node.str[dotIndex+1..^2] var factor = 100_000_000 - result.nanos = 0 + setNanos(result, 0) for ch in nanoStr: - result.nanos = result.nanos + int32(factor * (ord(ch) - ord('0'))) + setNanos(result, result.nanos + int32(factor * (ord(ch) - ord('0')))) factor = factor div 10 if result.nanos > 999_999_999: raise newException(ValueError, "duration nanos out of bounds") if result.seconds < 0: - result.nanos = -result.nanos + setNanos(result, -result.nanos) |
