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

Diff for libcfg+/src/cfg+.c between version 1.17 and 1.18

version 1.17, 2001/12/10 21:01:48 version 1.18, 2001/12/16 20:44:37
Line 4 
Line 4 
   
 #include "str/strdyn.h"  #include "str/strdyn.h"
 #include "str/strplus.h"  #include "str/strplus.h"
   
 #include "cfg.h"  #include "cfg.h"
   #include "shared.h"
   
 static char *default_line_stop_str[2] = { "--", NULL };  static char *default_line_stop_str[2] = { "--", NULL };
 static char *default_file_stop_prefix[2] = { "[", NULL };  static char *default_file_stop_prefix[2] = { "[", NULL };
 static char *default_file_comment_prefix[4] = { "#", ";", "//", NULL };  static char *default_file_comment_prefix[4] = { "#", ";", "//", NULL };
 static char *default_short_option_prefix[2] = { "-", NULL };  static char *default_short_option_prefix[2] = { "-", NULL };
 static char *default_long_option_prefix[2] = { "--", NULL };  static char *default_long_option_prefix[2] = { "--", NULL };
 static char *default_multi_vals_separator[4] = { " ", ",", ";", NULL };  static char *default_line_multi_vals_separator[4] = { " ", ",", ";", NULL };
   static char *default_file_multi_vals_separator[4] = { " ", ",", ";", NULL };
 static char *default_line_option_arg_separator[2] = { "=", NULL };  static char *default_line_option_arg_separator[2] = { "=", NULL };
 static char *default_file_option_arg_separator[2] = { "=", NULL };  static char *default_file_option_arg_separator[2] = { "=", NULL };
 static char *default_multi_line_postfix[3] = { "\\", "multi\\", NULL };  static char *default_multi_line_postfix[3] = { "\\", "multi\\", NULL };
   static char *default_quote_prefix[3] = { "\"", "'", NULL };
   static char *default_quote_postfix[3] = { "\"", "'", NULL };
   
 CFG_CONTEXT cfg_get_context(struct cfg_option *options)  CFG_CONTEXT cfg_get_context(struct cfg_option *options)
 {  {
Line 33  CFG_CONTEXT cfg_get_context(struct cfg_o
Line 37  CFG_CONTEXT cfg_get_context(struct cfg_o
         con->comment_prefix = strdyn_create_ar(default_file_comment_prefix);          con->comment_prefix = strdyn_create_ar(default_file_comment_prefix);
         con->short_option_prefix = strdyn_create_ar(default_short_option_prefix);          con->short_option_prefix = strdyn_create_ar(default_short_option_prefix);
         con->long_option_prefix = strdyn_create_ar(default_long_option_prefix);          con->long_option_prefix = strdyn_create_ar(default_long_option_prefix);
         con->multi_vals_separator = strdyn_create_ar(default_multi_vals_separator);  
         con->multi_line_postfix = strdyn_create_ar(default_multi_line_postfix);          con->multi_line_postfix = strdyn_create_ar(default_multi_line_postfix);
           con->line_multi_vals_separator =
                   strdyn_create_ar(default_line_multi_vals_separator);
           con->file_multi_vals_separator =
                   strdyn_create_ar(default_file_multi_vals_separator);
         con->line_option_arg_separator =          con->line_option_arg_separator =
                 strdyn_create_ar(default_line_option_arg_separator);                  strdyn_create_ar(default_line_option_arg_separator);
         con->file_option_arg_separator =          con->file_option_arg_separator =
                 strdyn_create_ar(default_file_option_arg_separator);                  strdyn_create_ar(default_file_option_arg_separator);
           con->quote_prefix = strdyn_create_ar(default_quote_prefix);
           con->quote_postfix = strdyn_create_ar(default_quote_postfix);
   
         if (con->line_stop_str == NULL          if (con->line_stop_str == NULL
                         || con->file_stop_prefix == NULL                          || con->file_stop_prefix == NULL
                         || con->comment_prefix == NULL                          || con->comment_prefix == NULL
                         || con->short_option_prefix == NULL                          || con->short_option_prefix == NULL
                         || con->long_option_prefix == NULL                          || con->long_option_prefix == NULL
                         || con->multi_vals_separator == NULL  
                         || con->multi_line_postfix == NULL                          || con->multi_line_postfix == NULL
                           || con->line_multi_vals_separator == NULL
                           || con->file_multi_vals_separator == NULL
                         || con->line_option_arg_separator == NULL                          || con->line_option_arg_separator == NULL
                         || con->file_option_arg_separator == NULL                          || con->file_option_arg_separator == NULL
                           || con->quote_prefix == NULL
                           || con->quote_postfix == NULL
            )             )
                 return NULL;                  return NULL;
   
Line 128  void cfg_set_cfgfile_context(
Line 140  void cfg_set_cfgfile_context(
 void cfg_free_context(const CFG_CONTEXT con)  void cfg_free_context(const CFG_CONTEXT con)
 {  {
   
         cfg_clear_cmdline_stop_str(con);          cfg_clear_cmdline_stop_string(con);
         cfg_clear_cfgfile_stop_prefix(con);          cfg_clear_cfgfile_stop_prefix(con);
         cfg_clear_cfgfile_comment_prefix(con);          cfg_clear_cfgfile_comment_prefix(con);
         cfg_clear_cmdline_short_option_prefix(con);          cfg_clear_cmdline_short_option_prefix(con);
         cfg_clear_cmdline_long_option_prefix(con);          cfg_clear_cmdline_long_option_prefix(con);
         cfg_clear_cmdline_multi_vals_separator(con);          cfg_clear_cmdline_multi_vals_separator(con);
         cfg_clear_cfgfile_multi_line_postfix(con);          cfg_clear_cfgfile_multi_vals_separator(con);
         cfg_clear_cmdline_option_arg_separator(con);          cfg_clear_cmdline_option_arg_separator(con);
         cfg_clear_cfgfile_option_arg_separator(con);          cfg_clear_cfgfile_option_arg_separator(con);
           cfg_clear_cfgfile_multi_line_postfix(con);
           cfg_clear_quote_strings(con);
   
         if (con->used_opt_idx != NULL)          if (con->used_opt_idx != NULL)
                 free(con->used_opt_idx);                  free(con->used_opt_idx);
Line 144  void cfg_free_context(const CFG_CONTEXT
Line 158  void cfg_free_context(const CFG_CONTEXT
         /*          /*
          * We can't call free_currents(con), because it is stacic method defined           * We can't call free_currents(con), because it is stacic method defined
          * in cmdline.c; but no problem, we will do the free-job ourself.           * in cmdline.c; but no problem, we will do the free-job ourself.
          */  
   
         if (con->cur_opt != NULL)          if (con->cur_opt != NULL)
                 free(con->cur_opt);                  free(con->cur_opt);
Line 153  void cfg_free_context(const CFG_CONTEXT
Line 166  void cfg_free_context(const CFG_CONTEXT
   
         con->cur_opt = con->cur_arg = NULL;          con->cur_opt = con->cur_arg = NULL;
         con->cur_opt_type = CFG_NONE_OPTION;          con->cur_opt_type = CFG_NONE_OPTION;
            */
   
           __cfg_free_currents(con);
   
   
         if (con->fhandle != NULL)          if (con->fhandle != NULL)

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

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