Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Friday, October 16, 2026

Diff for libcfg+/src/cfg+.c between version 1.24 and 1.25

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);

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.25

Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top