iOS版 カウンタの数値が正しく表示されない
カウンタ表示文字列生成処理の不具合。
MTDashboard::_GetCounterStr
snprintfに指定するフォーマット文字列において、unsigned intの値に対応する フォーマットに%luを指定していた。しかし%luは、unsigned longに対応するものである。
iOS 64bit環境では、unsigned intは32bit、unsigned longは64bitになるため、 値とフォーマットの不整合により、数値文字列が不正になった。
String Format Specifiers https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html
Ver.1.0.1までは、カウンタに表示するパラメータにunsigned longの値を指定していたが、 iOS 64bit対応(#36981)にてunsigned longはすべてunsigned intに変換していた。 よって本現象は64bit対応によるデグレードである。
フォーマット文字列について、%luを%uに修正する。
フォーマット文字列について、%luを%uに修正する。
printfでgrepし、フォーマット文字列で%luを利用しているところが他にないか確認した。
MTDashboardLive::_GetCounterStrの修正は行なっていない。 もともと%luを利用していなかった。対策の記載ミス。
iOS版 Ver 1.1.0において、カウンタが不正な数値で表示される。