more audit work
This commit is contained in:
@@ -176,12 +176,35 @@ public static class CanonJson
|
||||
w.WriteEndArray();
|
||||
break;
|
||||
|
||||
case JsonValueKind.Number:
|
||||
if (TryWriteNormalizedNumber(el, w))
|
||||
{
|
||||
break;
|
||||
}
|
||||
el.WriteTo(w);
|
||||
break;
|
||||
|
||||
default:
|
||||
el.WriteTo(w);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private static bool TryWriteNormalizedNumber(JsonElement element, Utf8JsonWriter writer)
|
||||
{
|
||||
if (element.TryGetDouble(out var doubleValue))
|
||||
{
|
||||
var bits = BitConverter.DoubleToInt64Bits(doubleValue);
|
||||
if (bits == unchecked((long)0x8000000000000000))
|
||||
{
|
||||
writer.WriteNumberValue(0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Computes SHA-256 hash of bytes, returns lowercase hex string.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user