42 lines
1.0 KiB
C++
42 lines
1.0 KiB
C++
#include <assert.h>
|
|
#include <lime/LimeSuite.h>
|
|
#include <string>
|
|
|
|
extern "C"
|
|
{
|
|
size_t osmo_strlcpy(char *dst, const char *src, size_t siz);
|
|
}
|
|
|
|
int info_list_find(lms_info_str_t* info_list, unsigned int count, const std::string &args);
|
|
|
|
using namespace std;
|
|
|
|
int main(void)
|
|
{
|
|
unsigned int count;
|
|
lms_info_str_t* info_list;
|
|
std::string args;
|
|
|
|
/* two fake entries for info_list */
|
|
count = 2;
|
|
info_list = new lms_info_str_t[count];
|
|
osmo_strlcpy(info_list[0], "LimeSDR Mini, addr=24607:1337, serial=FAKESERIAL0001", sizeof(lms_info_str_t));
|
|
osmo_strlcpy(info_list[1], "LimeSDR Mini, addr=24607:1338, serial=FAKESERIAL0002", sizeof(lms_info_str_t));
|
|
|
|
/* find second entry by args filter */
|
|
args = "serial=FAKESERIAL0002,LimeSDR Mini";
|
|
assert(info_list_find(info_list, count, args) == 1);
|
|
|
|
/* empty args -> first entry */
|
|
args = "";
|
|
assert(info_list_find(info_list, count, args) == 0);
|
|
|
|
/* not matching args -> -1 */
|
|
args = "serial=NOTMATCHING";
|
|
assert(info_list_find(info_list, count, args) == -1);
|
|
|
|
/* clean up */
|
|
delete[] info_list;
|
|
return 0;
|
|
}
|