0
1
mirror of https://github.com/radio95-rnt/rds95.git synced 2026-02-27 04:43:52 +01:00

turn away bad groups

This commit is contained in:
2025-12-25 10:48:01 +01:00
parent 73f7a798cc
commit c3388aecee
2 changed files with 15 additions and 1 deletions

View File

@@ -421,7 +421,19 @@ int lua_register_oda(lua_State *localL) {
if(mod->enc->state[mod->enc->program].user_oda.oda_len >= 32) return luaL_error(localL, "There can't be more than 32 registered ODAs");
if(mod->enc->state[mod->enc->program].user_oda.odas[id].group != 0) return luaL_error(localL, "internal error");
mod->enc->state[mod->enc->program].user_oda.odas[id].group = luaL_checkinteger(localL, 1);
if(mod->enc->state[mod->enc->program].user_oda.odas[id].group == 0) return luaL_error(localL, "Invalid group");
switch (mod->enc->state[mod->enc->program].user_oda.odas[id].group) {
case 14:
case 15:
case 2:
case 0: return luaL_error(localL, "Invalid group");
case 10:
case 4:
case 3:
case 1:
default:
if(mod->enc->state[mod->enc->program].user_oda.odas[id].group_version == 0) return luaL_error(localL, "Invalid group");
break;
}
mod->enc->state[mod->enc->program].user_oda.odas[id].group_version = lua_toboolean(localL, 2);
mod->enc->state[mod->enc->program].user_oda.odas[id].id = luaL_checkinteger(localL, 3);
mod->enc->state[mod->enc->program].user_oda.odas[id].id_data = luaL_checkinteger(localL, 4);