diff --git a/src/rds.c b/src/rds.c index ce27c67..062079e 100644 --- a/src/rds.c +++ b/src/rds.c @@ -563,13 +563,12 @@ static void init_rtplus(RDSEncoder* enc, uint8_t group, uint8_t program) { void reset_rds_state(RDSEncoder* enc, uint8_t program) { enc->program = program; - memset(&(enc->state[program]), 0, sizeof(RDSState)); - enc->state[program].rt_ab = 1; - enc->state[program].ptyn_ab = 1; - RDSEncoder tempCoder; + tempCoder.program = program; memset(&(tempCoder.state[program]), 0, sizeof(RDSState)); + tempCoder.state[program].rt_ab = 1; + tempCoder.state[program].ptyn_ab = 1; set_rds_rt1(&tempCoder, enc->data[program].rt1); set_rds_ps(&tempCoder, enc->data[program].ps); set_rds_dps1(&tempCoder, enc->data[program].dps1);