| version 1.24, 2002/03/21 13:38:03 |
version 1.25, 2002/03/21 14:11:53 |
| Line 378 main(argc, argv) |
|
| Line 378 main(argc, argv) |
|
| }; |
}; |
| |
|
| con = cfg_get_cmdline_context(argc, argv, options); |
con = cfg_get_cmdline_context(argc, argv, options); |
| |
|
| /* This is powerful testing stuff :) |
|
| |
|
| printf("advanced leftovers: %d\n", cfg_get_context_flag(con, CFG_ADVANCED_LEFTOVERS)); |
|
| cfg_set_context_flag(con, CFG_ADVANCED_LEFTOVERS); |
|
| cfg_set_context_flag(con, CFG_ADVANCED_LEFTOVERS); |
|
| printf("advanced leftovers: %d\n", cfg_get_context_flag(con, CFG_ADVANCED_LEFTOVERS)); |
|
| cfg_clear_context_flag(con, CFG_ADVANCED_LEFTOVERS); |
|
| printf("advanced leftovers: %d\n", cfg_get_context_flag(con, CFG_ADVANCED_LEFTOVERS)); |
|
| cfg_set_context_flag(con, CFG_ADVANCED_LEFTOVERS); |
|
| printf("advanced leftovers: %d\n", cfg_get_context_flag(con, CFG_ADVANCED_LEFTOVERS)); |
|
| */ |
|
| |
|
| cfg_set_context_flag(con, CFG_ADVANCED_LEFTOVERS); |
cfg_set_context_flag(con, CFG_ADVANCED_LEFTOVERS); |
| |
|
| while ((ret = cfg_get_next_opt(con)) > 0) { |
do { |
| printf("ret = %d, opt = '%s', arg = '%s', idx = %d, argv[idx] = '%s'\n", |
/* This is powerful testing stuff :) |
| ret, |
|
| cfg_get_cur_opt(con), |
|
| cfg_get_cur_arg(con), |
|
| cfg_get_cur_idx(con), |
|
| argv[cfg_get_cur_idx(con)]); |
|
| } |
|
| |
|
| fputs("***** ", stdout); |
|
| |
|
| switch (ret) { |
|
| case CFG_ERROR_INTERNAL: |
|
| puts("Command line parsing internal error."); |
|
| break; |
|
| case CFG_ERROR_NOMEM: |
|
| puts("Not enough memory for command line parsing."); |
|
| break; |
|
| case CFG_ERROR_NOTALLOWEDARG: |
|
| puts("Option has not allowed an argument."); |
|
| break; |
|
| case CFG_ERROR_BADNUMBER: |
|
| puts("Bad argument number."); |
|
| break; |
|
| case CFG_ERROR_OVERFLOW: |
|
| puts("Argument overflow."); |
|
| break; |
|
| case CFG_ERROR_UNKNOWN: |
|
| puts("Unknown option."); |
|
| break; |
|
| case CFG_ERR_NOARG: |
|
| puts("An argument is missing for option."); |
|
| break; |
|
| case CFG_ERROR_MULTI: |
|
| puts("Multiple option."); |
|
| break; |
|
| case CFG_ERROR_STOP_STR_FOUND: |
|
| puts("Stop string found."); |
|
| break; |
|
| case CFG_OK: |
|
| puts("All OK."); |
|
| break; |
|
| default: |
|
| puts("Unknown error."); |
|
| break; |
|
| } |
|
| |
|
| if (ret != CFG_OK) |
|
| printf("***** opt = '%s', arg = '%s', idx = %d, argv[idx] = '%s'\n", |
|
| cfg_get_cur_opt(con), |
|
| cfg_get_cur_arg(con), |
|
| cfg_get_cur_idx(con), |
|
| argv[cfg_get_cur_idx(con)]); |
|
| |
|
| if (o_cfgfile != NULL) { |
|
| cfg_set_cfgfile_context(con, 0, 0, o_cfgfile); |
|
| cfg_remove_cfgfile_comment_prefix(con, "//"); |
|
| cfg_add_cfgfile_comment_prefix(con, "//"); |
|
| |
|
| |
printf("advanced leftovers: %d\n", cfg_get_context_flag(con, CFG_ADVANCED_LEFTOVERS)); |
| |
cfg_set_context_flag(con, CFG_ADVANCED_LEFTOVERS); |
| |
cfg_set_context_flag(con, CFG_ADVANCED_LEFTOVERS); |
| |
printf("advanced leftovers: %d\n", cfg_get_context_flag(con, CFG_ADVANCED_LEFTOVERS)); |
| |
cfg_clear_context_flag(con, CFG_ADVANCED_LEFTOVERS); |
| |
printf("advanced leftovers: %d\n", cfg_get_context_flag(con, CFG_ADVANCED_LEFTOVERS)); |
| |
cfg_set_context_flag(con, CFG_ADVANCED_LEFTOVERS); |
| |
printf("advanced leftovers: %d\n", cfg_get_context_flag(con, CFG_ADVANCED_LEFTOVERS)); |
| |
*/ |
| |
|
| |
if (o_cfgfile != NULL) { |
| |
cfg_set_cfgfile_context(con, 0, 0, o_cfgfile); |
| |
cfg_remove_cfgfile_comment_prefix(con, "//"); |
| |
cfg_add_cfgfile_comment_prefix(con, "//"); |
| |
|
| |
o_cfgfile = NULL; |
| |
} |
| |
|
| while ((ret = cfg_get_next_opt(con)) > 0) { |
while ((ret = cfg_get_next_opt(con)) > 0) { |
| /* |
printf("ret = %d, opt = '%s', arg = '%s', idx = %d, argv[idx] = '%s'\n", |
| printf("ret = %d, opt = '%s', arg = '%s', idx = %d, argv[idx] = '%s'\n", |
ret, |
| ret, |
cfg_get_cur_opt(con), |
| cfg_get_cur_opt(con), |
cfg_get_cur_arg(con), |
| cfg_get_cur_arg(con), |
cfg_get_cur_idx(con), |
| cfg_get_cur_idx(con), |
argv[cfg_get_cur_idx(con)]); |
| argv[cfg_get_cur_idx(con)]); |
|
| */ |
|
| } |
} |
| |
|
| if (ret != 0) |
if (ret != CFG_OK) { |
| printf("***** cfgfile error %d\n", ret); |
printf("***** %s error %d: %s\n", |
| |
o_cfgfile == NULL ? "cmdline" : "cfgfile", |
| |
ret, cfg_get_error_str(ret)); |
| |
|
| |
printf("***** opt = '%s', arg = '%s', idx = %d, argv[idx] = '%s'\n", |
| |
cfg_get_cur_opt(con), |
| |
cfg_get_cur_arg(con), |
| |
cfg_get_cur_idx(con), |
| |
argv[cfg_get_cur_idx(con)]);\ |
| |
} |
| |
} while (o_cfgfile != NULL); |
| |
|
| cfg_free_context(con); |
cfg_free_context(con); |
| } |
|
| |
|
| |
puts( |
| |
"+--------------------------+\n" |
| |
"| Common values printing |\n" |
| |
"+--------------------------+"); |
| |
|
| printf("o_verbose = %d, o_nice = %d\n", o_verbose, o_nice); |
printf("o_verbose = %d, o_nice = %d\n", o_verbose, o_nice); |
| printf("o_boolean = %d\n", o_boolean); |
printf("o_boolean = %d\n", o_boolean); |
| Line 478 main(argc, argv) |
|
| Line 437 main(argc, argv) |
|
| printf("o_float = %f, o_double = %e\n", o_float, o_double); |
printf("o_float = %f, o_double = %e\n", o_float, o_double); |
| printf("o_string = <%s>\n", o_string); |
printf("o_string = <%s>\n", o_string); |
| |
|
| puts("Multi values printing:"); |
puts( |
| |
"+-------------------------+\n" |
| |
"| Multi values printing |\n" |
| |
"+-------------------------+"); |
| |
|
| ar_print("o_multi_int", "%d", (void **) o_multi_int); |
ar_print("o_multi_int", "%d", (void **) o_multi_int); |
| ar_print("o_multi_uint", "%u", (void **) o_multi_uint); |
ar_print("o_multi_uint", "%u", (void **) o_multi_uint); |