diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp index 358186dca3284fc327d2aaf126ecf5cd2b40f17e..9b1755954ae84655a75cbe25ba0570291d01097f 100644 --- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -283,12 +283,11 @@ int64_t wrap_ts = 0; unsigned int u_sf_mode = 0; // 1=record, 2=replay unsigned int u_sf_record = 0; // record mode unsigned int u_sf_replay = 0; // replay mode -char u_sf_filename[1024]; // subframes file path +char u_sf_filename[1024] = ""; // subframes file path unsigned int u_sf_max = DEF_NB_SF; // max number of recorded subframes unsigned int u_sf_loops = DEF_SF_NB_LOOP; // number of loops in replay mode unsigned int u_sf_read_delay = DEF_SF_DELAY_READ; // read delay in replay mode unsigned int u_sf_write_delay = DEF_SF_DELAY_WRITE; // write delay in replay mode -char *tmp_filename[1]; // use an array of pointer (libconfig does not seems to work with char array yet) char config_opt_sf_file[] = CONFIG_OPT_SF_FILE; char config_def_sf_file[] = DEF_SF_FILE; @@ -837,7 +836,7 @@ int trx_usrp_recplay_config_init(paramdef_t *usrp_recplay_params) { memcpy(usrp_recplay_params[0].optname, config_opt_sf_file, strlen(config_opt_sf_file)); usrp_recplay_params[0].helpstr = config_hlp_sf_file; usrp_recplay_params[0].paramflags=PARAMFLAG_NOFREE; - usrp_recplay_params[0].strptr=(char **)&tmp_filename[0]; + usrp_recplay_params[0].strptr=(char **)&u_sf_filename; usrp_recplay_params[0].defstrval = NULL; usrp_recplay_params[0].type=TYPE_STRING; usrp_recplay_params[0].numelt=sizeof(u_sf_filename); @@ -912,16 +911,13 @@ extern "C" { // end to check memset(usrp_recplay_params, 0, 7*sizeof(paramdef_t)); memset(&u_sf_filename[0], 0, 1024); - tmp_filename[0] = u_sf_filename; if (trx_usrp_recplay_config_init(usrp_recplay_params) != 0) { std::cerr << "USRP device record/replay mode configuration error exiting" << std::endl; return -1; } config_process_cmdline(usrp_recplay_params,sizeof(usrp_recplay_params)/sizeof(paramdef_t),NULL); - if (strlen(tmp_filename[0]) != 0) { - (void) strcpy(u_sf_filename, tmp_filename[0]); - } else { + if (strlen(u_sf_filename) == 0) { (void) strcpy(u_sf_filename, DEF_SF_FILE); }