From 747cea249bd87d6320e52a9e94b04444a53fe9cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Leroy?= Date: Fri, 26 Aug 2016 11:49:43 +0200 Subject: [PATCH] feat(conf2uedata): add a selector for displaying files --- openair3/NAS/TOOLS/conf2uedata.c | 4 +-- openair3/NAS/TOOLS/display.c | 56 ++++++++++++++++++++++---------- openair3/NAS/TOOLS/display.h | 9 ++++- 3 files changed, 48 insertions(+), 21 deletions(-) diff --git a/openair3/NAS/TOOLS/conf2uedata.c b/openair3/NAS/TOOLS/conf2uedata.c index ad15d1bb4f..80a6933c05 100644 --- a/openair3/NAS/TOOLS/conf2uedata.c +++ b/openair3/NAS/TOOLS/conf2uedata.c @@ -46,7 +46,7 @@ int main(int argc, char**argv) { exit(1); } - display_data_from_directory(output_dir); + display_data_from_directory(output_dir, DISPLAY_ALL); exit(0); } @@ -55,7 +55,7 @@ int main(int argc, char**argv) { * Displays command line usage */ void _display_usage(void) { - fprintf(stderr, "usage: conf2uedata [OPTION] [directory] ...\n"); + fprintf(stderr, "usage: conf2uedata [OPTION]...\n"); fprintf(stderr, "\t[-c]\tConfig file to use\n"); fprintf(stderr, "\t[-o]\toutput file directory\n"); fprintf(stderr, "\t[-h]\tDisplay this usage\n"); diff --git a/openair3/NAS/TOOLS/display.c b/openair3/NAS/TOOLS/display.c index 672a9950de..fdd2ad7670 100644 --- a/openair3/NAS/TOOLS/display.c +++ b/openair3/NAS/TOOLS/display.c @@ -28,29 +28,49 @@ PRINT_PLMN_DIGIT((plmn).MNCdigit2); \ PRINT_PLMN_DIGIT((plmn).MNCdigit3) -void display_data_from_directory(const char *directory) { - int user_id = 0; - char *filename; +// return number of files displayed +int display_data_from_directory(const char *directory, int flags) { + int user_id = 0; + char *filename; + bool found = true; + int displayed_count = 0; - filename = get_ue_filename(directory, user_id); - while ( file_exist_and_is_readable(filename) ) { + while ( found ) { + found = false; - display_ue_data(filename); - free(filename); + if ( flags & DISPLAY_UEDATA ) { + filename = get_ue_filename(directory, user_id); + if ( file_exist_and_is_readable(filename) ) { + display_ue_data(filename); + displayed_count += 1; + found = true; + } + free(filename); + } - filename = get_emm_filename(directory, user_id); - display_emm_data(filename); - free(filename); + if ( flags & DISPLAY_EMM ) { + filename = get_emm_filename(directory, user_id); + if ( file_exist_and_is_readable(filename) ) { + display_emm_data(filename); + displayed_count += 1; + found = true; + } + free(filename); + } - filename = get_usim_filename(directory, user_id); - display_usim_data(filename); - free(filename); + if ( flags & DISPLAY_USIM ) { + filename = get_usim_filename(directory, user_id); + if ( file_exist_and_is_readable(filename) ) { + display_usim_data(filename); + displayed_count += 1; + found = true; + } + free(filename); + } - - user_id += 1; - filename = get_ue_filename(directory, user_id); - } - free(filename); + user_id += 1; + } + return displayed_count; } void display_ue_data(const char *filename) { diff --git a/openair3/NAS/TOOLS/display.h b/openair3/NAS/TOOLS/display.h index fd4f4ff1e3..fef721c490 100644 --- a/openair3/NAS/TOOLS/display.h +++ b/openair3/NAS/TOOLS/display.h @@ -1,7 +1,14 @@ #ifndef _DISPLAY_H #define _DISPLAY_H -void display_data_from_directory(const char *directory); +#define DISPLAY_EMM 1 +#define DISPLAY_USIM 2 +#define DISPLAY_UEDATA 4 +#define DISPLAY_ALL 7 + +// return number of files displayed +int display_data_from_directory(const char *directory, int flags); + void display_ue_data(const char *filename); void display_emm_data(const char *filename); void display_usim_data(const char *filename);