xtne6f/EDCB

reserveIDが65535を超えるとLuaScriptのChgReserveDataが常に失敗する

Closed this issue · 1 comments

RESERVE_DATA.reserveID プロパティはDWORD型ですが、

DWORD reserveID; //予約識別ID 予約登録時は0

CEpgTimerSrvMain::FetchReserveData でWORD型にキャストしています。(LuaHelp::get_intも桁数が足りていない?)

r.reserveID = (WORD)LuaHelp::get_int(L, "reserveID");

録画予約数が65536件を超えた場合、EpgTimerSrvの中でreserveIDの値が変わってしまうのでLuaScriptからChgReserveDataの呼び出しが失敗してしまいます。
(予約を新規作成する時はreserveIDの値は使っていないので成功する)

ありがとうございます。
完全にミスです (たぶん前行のeventID等からの流れで書いちゃったんだと思う)。
LuaHelp::get_intは符号付き32bitなので値域については大丈夫です。