int main() { printf("Testing CODA version %s\n", libcoda_version); int rc = coda_init(); if (rc) { printf("coda_init returned error '%d' -- '%s'", coda_errno, coda_errno_to_string(coda_errno) ); } coda_done(); return 0; }
int main(int argc, char *argv[]) { int i = 1; ascii_col_sep = " "; show_type = 0; show_unit = 0; show_format = 0; show_description = 0; show_quotes = 0; show_hidden = 0; show_expressions = 0; show_parent_types = 0; show_attributes = 0; use_special_types = 1; if (argc > 1) { if (strcmp(argv[i], "-h") == 0 || strcmp(argv[i], "--help") == 0) { print_help(); exit(0); } if (strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "--version") == 0) { print_version(); exit(0); } } if (i + 1 < argc && strcmp(argv[i], "-D") == 0) { coda_set_definition_path(argv[i + 1]); i += 2; } else { #ifdef WIN32 const char *definition_path = "../definitions"; #else const char *definition_path = "../share/" PACKAGE "/definitions"; #endif if (coda_set_definition_path_conditional(argv[0], NULL, definition_path) != 0) { fprintf(stderr, "ERROR: %s\n", coda_errno_to_string(coda_errno)); exit(1); } } coda_option_read_all_definitions = 1; if (coda_init() != 0) { fprintf(stderr, "ERROR: %s\n", coda_errno_to_string(coda_errno)); exit(1); } if (i == argc) { coda_done(); exit(0); } coda_set_option_perform_conversions(0); if (strcmp(argv[i], "doc") == 0) { i++; if (i != argc - 1) { fprintf(stderr, "ERROR: invalid arguments\n"); print_help(); exit(1); } generate_html(argv[i]); } else if (strcmp(argv[i], "list") == 0) { const char *product_class = NULL; const char *product_type = NULL; int version = -1; i++; while (i < argc) { if (strcmp(argv[i], "-e") == 0 || strcmp(argv[i], "--expr") == 0) { show_expressions = 1; } else if (strcmp(argv[i], "-q") == 0 || strcmp(argv[i], "--quote_strings") == 0) { show_quotes = 1; } else if (strcmp(argv[i], "-t") == 0 || strcmp(argv[i], "--type") == 0) { show_type = 1; } else if (strcmp(argv[i], "-u") == 0 || strcmp(argv[i], "--unit") == 0) { show_unit = 1; } else if (strcmp(argv[i], "--description") == 0) { show_description = 1; } else if (strcmp(argv[i], "--hidden") == 0) { show_hidden = 1; } else if (strcmp(argv[i], "--parent-types") == 0) { show_parent_types = 1; } else if (strcmp(argv[i], "--attributes") == 0) { show_attributes = 1; } else if (strcmp(argv[i], "--no_special_types") == 0) { use_special_types = 0; } else if ((strcmp(argv[i], "-s") == 0 || strcmp(argv[i], "--column_separator") == 0) && i + 1 < argc && argv[i + 1][0] != '-') { i++; ascii_col_sep = argv[i]; } else if (argv[i][0] != '-') { break; } else { fprintf(stderr, "ERROR: invalid arguments\n"); print_help(); exit(1); } i++; } if (i < argc) { product_class = argv[i]; i++; if (i < argc) { product_type = argv[i]; i++; if (i < argc) { if (sscanf(argv[i], "%d", &version) != 1) { fprintf(stderr, "ERROR: invalid product version argument\n"); print_help(); exit(1); } i++; if (i < argc) { fprintf(stderr, "ERROR: invalid arguments\n"); print_help(); exit(1); } } } } generate_list(product_class, product_type, version); } else if (strcmp(argv[i], "xmlschema") == 0) { const char *output_file_name = NULL; const char *product_class = NULL; const char *product_type = NULL; int version = -1; i++; while (i < argc) { if ((strcmp(argv[i], "-o") == 0 || strcmp(argv[i], "--output") == 0) && i + 1 < argc && argv[i + 1][0] != '-') { i++; output_file_name = argv[i]; } else if (argv[i][0] != '-') { break; } else { fprintf(stderr, "ERROR: invalid arguments\n"); print_help(); exit(1); } i++; } if (i != argc - 3) { fprintf(stderr, "ERROR: invalid arguments\n"); print_help(); exit(1); } product_class = argv[i]; i++; product_type = argv[i]; i++; if (sscanf(argv[i], "%d", &version) != 1) { fprintf(stderr, "ERROR: invalid product version argument\n"); print_help(); exit(1); } generate_xmlschema(output_file_name, product_class, product_type, version); } else if (strcmp(argv[i], "dtree") == 0) { coda_format format; i++; if (i != argc - 1) { fprintf(stderr, "ERROR: invalid arguments\n"); print_help(); exit(1); } if (coda_format_from_string(argv[i], &format) != 0) { fprintf(stderr, "ERROR: invalid arguments\n"); print_help(); exit(1); } generate_detection_tree(format); } else if (strcmp(argv[i], "definition") == 0) { const char *output_file_name = NULL; i++; while (i < argc) { if ((strcmp(argv[i], "-o") == 0 || strcmp(argv[i], "--output") == 0) && i + 1 < argc && argv[i + 1][0] != '-') { i++; output_file_name = argv[i]; } else if (argv[i][0] != '-') { break; } else { fprintf(stderr, "ERROR: invalid arguments\n"); print_help(); exit(1); } i++; } if (i != argc - 1) { fprintf(stderr, "ERROR: invalid arguments\n"); print_help(); exit(1); } generate_definition(output_file_name, argv[i]); } else { fprintf(stderr, "ERROR: invalid arguments\n"); print_help(); exit(1); } coda_done(); return 0; }