happycube / ld-decode

Software defined LaserDisc decoder
GNU General Public License v3.0
294 stars 76 forks source link

fix data types for fileLoc and diskLoc in tools code and fix reading of json floats on non-US locales #877

Closed oyvindln closed 5 months ago

oyvindln commented 5 months ago

fileLoc gets truncated if the json is saved as it can easily be larger than a signed 32-bit integer can store diskLoc should have decimal places according to @happycube and is output with them from the python code. (Though it's not super useful at the moment and maybe not accurate either if there is data in the input before the start of the disk since it's just fileLoc divided by lines per field with the current code)

std::stod (and related) is locale-dependent at least on linux annoyingly so on many non-US locales it will not interpret . as the decimal separator and thus load floating point values as integers - so changed to use functions that avoids that.

We may want to consider switching a proper json library though which would probably be way more efficient