From 1c3017771ff0d6090f81f4d9ec8b88081d4eb93e Mon Sep 17 00:00:00 2001 From: Andre Puschmann Date: Thu, 7 Jun 2018 09:55:58 +0200 Subject: [PATCH] move helper functions for processing args to own header --- lib/src/phy/rf/rf_helper.h | 52 +++++++++++++++++++++++++++++++++++++ lib/src/phy/rf/rf_uhd_imp.c | 27 +------------------ 2 files changed, 53 insertions(+), 26 deletions(-) create mode 100644 lib/src/phy/rf/rf_helper.h diff --git a/lib/src/phy/rf/rf_helper.h b/lib/src/phy/rf/rf_helper.h new file mode 100644 index 000000000..7cc721df8 --- /dev/null +++ b/lib/src/phy/rf/rf_helper.h @@ -0,0 +1,52 @@ +/** + * + * \section COPYRIGHT + * + * Copyright 2013-2015 Software Radio Systems Limited + * + * \section LICENSE + * + * This file is part of the srsLTE library. + * + * srsLTE is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * srsLTE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * A copy of the GNU Affero General Public License can be found in + * the LICENSE file in the top-level directory of this distribution + * and at http://www.gnu.org/licenses/. + * + */ + +// A bunch of helper functions to process device arguments + + +#define REMOVE_SUBSTRING_WITHCOMAS(S, TOREMOVE) \ + remove_substring(S, TOREMOVE ",");\ + remove_substring(S, TOREMOVE ", ");\ + remove_substring(S, "," TOREMOVE);\ + remove_substring(S, ", " TOREMOVE);\ + remove_substring(S, TOREMOVE) + +static void remove_substring(char *s,const char *toremove) { + while((s=strstr(s,toremove))) { + memmove(s,s+strlen(toremove),1+strlen(s+strlen(toremove))); + } +} + +static void copy_subdev_string(char *dst, char *src) { + int n = 0; + size_t len = strlen(src); + /* Copy until end of string or comma */ + while (n < len && src[n] != '\0' && src[n] != ',') { + dst[n] = src[n]; + n++; + } + dst[n] = '\0'; +} \ No newline at end of file diff --git a/lib/src/phy/rf/rf_uhd_imp.c b/lib/src/phy/rf/rf_uhd_imp.c index a0548347e..19f810133 100644 --- a/lib/src/phy/rf/rf_uhd_imp.c +++ b/lib/src/phy/rf/rf_uhd_imp.c @@ -32,7 +32,7 @@ #include "srslte/srslte.h" #include "rf_uhd_imp.h" -#include "srslte/phy/rf/rf.h" +#include "rf_helper.h" #include "uhd_c_api.h" #define HAVE_ASYNC_THREAD 1 @@ -320,31 +320,6 @@ int rf_uhd_open(char *args, void **h) return rf_uhd_open_multi(args, h, 1); } -#define REMOVE_SUBSTRING_WITHCOMAS(S, TOREMOVE) \ - remove_substring(S, TOREMOVE ",");\ - remove_substring(S, TOREMOVE ", ");\ - remove_substring(S, "," TOREMOVE);\ - remove_substring(S, ", " TOREMOVE);\ - remove_substring(S, TOREMOVE) - -static void remove_substring(char *s,const char *toremove) -{ - while((s=strstr(s,toremove))) { - memmove(s,s+strlen(toremove),1+strlen(s+strlen(toremove))); - } -} - -static void copy_subdev_string(char *dst, char *src) { - int n = 0; - size_t len = strlen(src); - /* Copy until end of string or comma */ - while (n < len && src[n] != '\0' && src[n] != ',') { - dst[n] = src[n]; - n++; - } - dst[n] = '\0'; -} - int rf_uhd_open_multi(char *args, void **h, uint32_t nof_channels) { if (h) {