diff --git a/src/lua_api.c b/src/lua_api.c index 13dd4cf..c2fcca9 100644 --- a/src/lua_api.c +++ b/src/lua_api.c @@ -95,6 +95,13 @@ int lua_set_rds_##name(lua_State *localL) { \ function(enc, str, writing_program); \ return 0; \ } +#define STR_RAW_SETTER_LEN(name, function) \ +int lua_set_rds_##name(lua_State *localL) { \ + size_t len \ + const char* str = luaL_checklstring(localL, 1, &len); \ + function(enc, str, len, writing_program); \ + return 0; \ +} #define AF_SETTER(name, af_field, af_struct, add_func) \ int lua_set_rds_##name(lua_State *localL) { \ luaL_checktype(localL, 1, LUA_TTABLE); \ diff --git a/src/rds.c b/src/rds.c index 6c24988..ee74eac 100644 --- a/src/rds.c +++ b/src/rds.c @@ -224,7 +224,6 @@ void reset_rds_state(RDSEncoder* enc, uint8_t program) { set_rds_tps(&tempCoder, enc->data[program].tps, program); set_rds_lps(&tempCoder, enc->data[program].lps, program); set_rds_ptyn(&tempCoder, enc->data[program].ptyn, program); - set_rds_grpseq(&tempCoder, enc->data[program].grp_sqc, program); struct tm *utc; time_t now; diff --git a/src/rds.h b/src/rds.h index b13fbb4..6fd9ba6 100644 --- a/src/rds.h +++ b/src/rds.h @@ -166,4 +166,4 @@ void set_rds_ps(RDSEncoder* enc, const char *ps, uint8_t program); void set_rds_tps(RDSEncoder* enc, const char *tps, uint8_t program); void set_rds_lps(RDSEncoder* enc, const char *lps, uint8_t program); void set_rds_ptyn(RDSEncoder *enc, const char *ptyn, uint8_t program); -void set_rds_grpseq(RDSEncoder* enc, const char *grpseq, uint8_t program); +void set_rds_grpseq(RDSEncoder* enc, const char *grpseq, size_t size, uint8_t program);