https://bugs.documentfoundation.org/show_bug.cgi?id=131296

--- Comment #15 from Mike Kaganski <[email protected]> ---
@DrRobotto: to keep the binary compatibility with previous versions, taking
into account that the SbiRuntime::StepLOADI is 1-argument operation that takes
32-bit value, but casts it to 16-bit value, we could write old value to lower
16 bits, and string identifier in upper 16 bits in SbiExprNode::Gen for Integer
case (which is the problem), and handle that in the SbiRuntime::StepLOADI (if
upper 16 bits are 0, then use lower 16 bits).

But then how to tell case SbxLONG? Maybe simply stop generating
SbiRuntime::StepLOADI at all, revert its handling to old way (for files created
in older versions), and only generate SbiOpcode::NUMBER_ for both Integer and
Long? then you'd need to implement type detection in SbiRuntime::StepLOADNC to
restore the type? SbiStringPool::Add( double n, SbxDataType t ) could safely
write type character after the number, and the code reading the number could
take it into account (old code will just read up to non-numeric characters, so
would be safe). That would also handle bug 129596 comment 6.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to