Skip to content
Snippets Groups Projects
  • Nat Goodspeed's avatar
    8b7c903e
    Fix a couple gotchas in LLSDArray, LLSDParam, llsd_equals(). · 8b7c903e
    Nat Goodspeed authored
    Nested LLSDArray expressions, e.g.:
    LLSD array_of_arrays(LLSDArray(LLSDArray(17)(34))
                                  (LLSDArray("x")("y")));
    would quietly produce bad results because the outermost LLSDArray was being
    constructed with the compiler's implicit LLSDArray(const LLSDArray&) rather
    than LLSDArray(const LLSD&) as the reader assumes. Fixed with an explicit copy
    constructor to Do The Right Thing.
    Generalized LLSDParam<float> specialization into a macro to resolve similar
    conversion ambiguities for float, LLUUID, LLDate, LLURI and LLSD::Binary.
    Added optional bits= argument to llsd_equals() to permit comparing embedded
    Real values using is_approx_equal_fraction() rather than strictly bitwise.
    Omitting bits= retains current bitwise-comparison behavior.
    8b7c903e
    History
    Fix a couple gotchas in LLSDArray, LLSDParam, llsd_equals().
    Nat Goodspeed authored
    Nested LLSDArray expressions, e.g.:
    LLSD array_of_arrays(LLSDArray(LLSDArray(17)(34))
                                  (LLSDArray("x")("y")));
    would quietly produce bad results because the outermost LLSDArray was being
    constructed with the compiler's implicit LLSDArray(const LLSDArray&) rather
    than LLSDArray(const LLSD&) as the reader assumes. Fixed with an explicit copy
    constructor to Do The Right Thing.
    Generalized LLSDParam<float> specialization into a macro to resolve similar
    conversion ambiguities for float, LLUUID, LLDate, LLURI and LLSD::Binary.
    Added optional bits= argument to llsd_equals() to permit comparing embedded
    Real values using is_approx_equal_fraction() rather than strictly bitwise.
    Omitting bits= retains current bitwise-comparison behavior.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.