diff --git a/src/ascii_cmd.c b/src/ascii_cmd.c index 14385b2..fa1cc04 100644 --- a/src/ascii_cmd.c +++ b/src/ascii_cmd.c @@ -13,25 +13,25 @@ typedef struct { } pattern_command_handler_t; static void handle_ptyn(char *arg, RDSModulator* mod, char* output) { - arg[PTYN_LENGTH+8] = 0; + arg[PTYN_LENGTH*2] = 0; set_rds_ptyn(mod->enc, convert_to_rdscharset(arg)); strcpy(output, "+\0"); } static void handle_tps(char *arg, RDSModulator* mod, char* output) { - arg[PS_LENGTH+8] = 0; + arg[PS_LENGTH*2] = 0; set_rds_tps(mod->enc, convert_to_rdscharset(arg)); strcpy(output, "+\0"); } static void handle_rt1(char *arg, RDSModulator* mod, char* output) { - arg[RT_LENGTH+8] = 0; + arg[RT_LENGTH*2] = 0; set_rds_rt1(mod->enc, convert_to_rdscharset(arg)); strcpy(output, "+\0"); } static void handle_rt2(char *arg, RDSModulator* mod, char* output) { - arg[RT_LENGTH+8] = 0; + arg[RT_LENGTH*2] = 0; set_rds_rt2(mod->enc, convert_to_rdscharset(arg)); strcpy(output, "+\0"); } @@ -75,19 +75,19 @@ static void handle_link(char *arg, RDSModulator* mod, char* output) { } static void handle_lps(char *arg, RDSModulator* mod, char* output) { - arg[LPS_LENGTH+8] = 0; + arg[LPS_LENGTH*2] = 0; set_rds_lps(mod->enc, arg); strcpy(output, "+\0"); } static void handle_ert(char *arg, RDSModulator* mod, char* output) { - arg[ERT_LENGTH+8] = 0; + arg[ERT_LENGTH*2] = 0; set_rds_ert(mod->enc, arg); strcpy(output, "+\0"); } static void handle_ps(char *arg, RDSModulator* mod, char* output) { - arg[PS_LENGTH+8] = 0; + arg[PS_LENGTH*2] = 0; set_rds_ps(mod->enc, convert_to_rdscharset(arg)); strcpy(output, "+\0"); } diff --git a/src/rds.c b/src/rds.c index df02746..a56435f 100644 --- a/src/rds.c +++ b/src/rds.c @@ -879,7 +879,7 @@ void set_rds_lps(RDSEncoder* enc, char *lps) { memset(enc->data[enc->program].lps, 0, LPS_LENGTH); return; } - memset(enc->data[enc->program].lps, '\r', LPS_LENGTH); + memset(enc->data[enc->program].lps, ' ', LPS_LENGTH); while (*lps != 0 && len < LPS_LENGTH) enc->data[enc->program].lps[len++] = *lps++; if (len < LPS_LENGTH) {