if (msg)
printf("%s\n", msg);
- printf("\n\tprint_usage: --update_info_path filepath\n"
+ printf("\n\tprint_usage: --update_info_path filepath [--verbose]\n"
"\t\tfilepath -> filepath to update_info.ini file extracted from delta\n");
}
-static int get_update_info_path(int argc, char** argv, char** dest)
+static int parse_args(int argc, char** argv, char** dest, bool* verbose_output)
{
*dest = NULL;
- if (argc != 3) {
- print_usage("Invalid parameter count");
- return -1;
- }
+
const struct option long_options[] = {
{"update_info_path", required_argument, NULL, 0},
+ {"verbose", no_argument, NULL, 1},
{0}
};
while (1) {
return -1;
}
break;
+ case 1:
+ *verbose_output = true;
+ break;
default:
print_usage("Invalid parameters");
if (*dest)
return 0;
}
-int compare_info_files(FILE* update_info_file, FILE* device_info_file)
+static void print_string_array(int size, char** array)
+{
+ for (int i = 0; i < size; i++)
+ {
+ printf("\t%s\n", array[i]);
+ }
+}
+
+static void print_string_arrays_verbose_mode(int device_size, char** device, int update_size, char** update)
+{
+ printf("Identification variables from delta:\n");
+ print_string_array(update_size, update);
+
+ printf("Identification variables generated from this device:\n");
+ print_string_array(device_size, device);
+}
+
+static int compare_info_files(FILE* update_info_file, FILE* device_info_file, bool verbose_output)
{
size_t update_info_size, device_info_size;
update_info_size = get_file_size(update_info_file);
goto cleanup;
}
+ if (verbose_output)
+ print_string_arrays_verbose_mode(device_file_lines, device_strings, update_file_lines, update_strings);
+
if (compare_string_arrays(device_file_lines, device_strings, update_file_lines, update_strings) != 0) {
ret = 1;
}
return ret;
}
-int verify_delta_device_compatability(char* update_info_file_path)
+static int verify_delta_device_compatability(char* update_info_file_path, bool verbose_output)
{
int ret = 0;
FILE* update_original = NULL, * tizen_build_conf = NULL, * device_info = NULL;
}
int comparison_result;
- if ((comparison_result = compare_info_files(update_original, device_info)) < 0) {
+ if ((comparison_result = compare_info_files(update_original, device_info, verbose_output)) < 0) {
ERR("compare_info_file()");
ret = -1;
goto cleanup;
int main(int argc, char** argv)
{
char* update_info_path;
- if (get_update_info_path(argc, argv, &update_info_path) < 0) {
+ bool verbose_output = false;
+ if (parse_args(argc, argv, &update_info_path, &verbose_output) < 0) {
ERR("Parameter verification failed.");
return -1;
}
- int ret = verify_delta_device_compatability(update_info_path);
+ int ret = verify_delta_device_compatability(update_info_path, verbose_output);
free(update_info_path);
printf("Delta is not compatible with this device\n");
return ret;
-}
\ No newline at end of file
+}