feat(conf2uedata): add a selector for displaying files

This commit is contained in:
Frédéric Leroy
2017-01-25 13:29:48 +01:00
parent af4027660b
commit 747cea249b
3 changed files with 48 additions and 21 deletions
+2 -2
View File
@@ -46,7 +46,7 @@ int main(int argc, char**argv) {
exit(1); exit(1);
} }
display_data_from_directory(output_dir); display_data_from_directory(output_dir, DISPLAY_ALL);
exit(0); exit(0);
} }
@@ -55,7 +55,7 @@ int main(int argc, char**argv) {
* Displays command line usage * Displays command line usage
*/ */
void _display_usage(void) { 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[-c]\tConfig file to use\n");
fprintf(stderr, "\t[-o]\toutput file directory\n"); fprintf(stderr, "\t[-o]\toutput file directory\n");
fprintf(stderr, "\t[-h]\tDisplay this usage\n"); fprintf(stderr, "\t[-h]\tDisplay this usage\n");
+36 -16
View File
@@ -28,31 +28,51 @@
PRINT_PLMN_DIGIT((plmn).MNCdigit2); \ PRINT_PLMN_DIGIT((plmn).MNCdigit2); \
PRINT_PLMN_DIGIT((plmn).MNCdigit3) PRINT_PLMN_DIGIT((plmn).MNCdigit3)
void display_data_from_directory(const char *directory) { // return number of files displayed
int display_data_from_directory(const char *directory, int flags) {
int user_id = 0; int user_id = 0;
char *filename; char *filename;
bool found = true;
int displayed_count = 0;
while ( found ) {
found = false;
if ( flags & DISPLAY_UEDATA ) {
filename = get_ue_filename(directory, user_id); filename = get_ue_filename(directory, user_id);
while ( file_exist_and_is_readable(filename) ) { if ( file_exist_and_is_readable(filename) ) {
display_ue_data(filename); display_ue_data(filename);
free(filename); displayed_count += 1;
found = true;
filename = get_emm_filename(directory, user_id);
display_emm_data(filename);
free(filename);
filename = get_usim_filename(directory, user_id);
display_usim_data(filename);
free(filename);
user_id += 1;
filename = get_ue_filename(directory, user_id);
} }
free(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);
}
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;
}
return displayed_count;
}
void display_ue_data(const char *filename) { void display_ue_data(const char *filename) {
user_nvdata_t data; user_nvdata_t data;
int rc; int rc;
+8 -1
View File
@@ -1,7 +1,14 @@
#ifndef _DISPLAY_H #ifndef _DISPLAY_H
#define _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_ue_data(const char *filename);
void display_emm_data(const char *filename); void display_emm_data(const char *filename);
void display_usim_data(const char *filename); void display_usim_data(const char *filename);