casting .c_str() to mutable char* and changing the char* was causing all sort of weird format messages

This commit is contained in:
Francisco Paisana 2020-01-31 17:56:57 +00:00
parent 296af7e297
commit 1b958a60b5
5 changed files with 9 additions and 7 deletions

View File

@ -69,7 +69,7 @@ SRSLTE_API int srslte_rf_open(srslte_rf_t* h, char* args);
SRSLTE_API int srslte_rf_open_multi(srslte_rf_t* h, char* args, uint32_t nof_channels);
SRSLTE_API int srslte_rf_open_devname(srslte_rf_t* h, char* devname, char* args, uint32_t nof_channels);
SRSLTE_API int srslte_rf_open_devname(srslte_rf_t* h, const char* devname, char* args, uint32_t nof_channels);
SRSLTE_API const char* srslte_rf_name(srslte_rf_t* h);

View File

@ -74,7 +74,7 @@ public:
}
}
bool init(log_filter* _log_h, char* args = NULL, char* devname = NULL, uint32_t nof_channels = 1);
bool init(log_filter* _log_h, const char* args = NULL, char* devname = NULL, uint32_t nof_channels = 1);
void stop();
void reset();
bool start_agc(bool tx_gain_same_rx = false);

View File

@ -100,7 +100,7 @@ const char* srslte_rf_get_devname(srslte_rf_t* rf)
return ((rf_dev_t*)rf->dev)->name;
}
int srslte_rf_open_devname(srslte_rf_t* rf, char* devname, char* args, uint32_t nof_channels)
int srslte_rf_open_devname(srslte_rf_t* rf, const char* devname, char* args, uint32_t nof_channels)
{
rf->thread_gain_run = false;
/* Try to open the device if name is provided */

View File

@ -30,9 +30,11 @@ extern "C" {
namespace srslte {
bool radio::init(log_filter* _log_h, char* args, char* devname, uint32_t nof_channels)
bool radio::init(log_filter* _log_h, const char* args, char* devname, uint32_t nof_channels)
{
if (srslte_rf_open_devname(&rf_device, devname, args, nof_channels)) {
std::vector<char> tmp_args(strlen(args) + 1);
strcpy(&tmp_args[0], args);
if (srslte_rf_open_devname(&rf_device, devname, &tmp_args[0], nof_channels)) {
ERROR("Error opening RF device\n");
return false;
}

View File

@ -63,10 +63,10 @@ int radio_multi::init(const rf_args_t& args_, phy_interface_radio* phy_)
dev_name = (char*)args.device_name.c_str();
}
char* dev_args[SRSLTE_MAX_RADIOS] = {nullptr};
const char* dev_args[SRSLTE_MAX_RADIOS] = {nullptr};
for (int i = 0; i < SRSLTE_MAX_RADIOS; i++) {
if (args.device_args[i] != "auto") {
dev_args[i] = (char*)args.device_args[i].c_str();
dev_args[i] = args.device_args[i].c_str();
}
}