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/props.c between version 1.18 and 1.19

version 1.18, 2002/06/23 10:48:46 version 1.19, 2002/06/23 16:43:47
Line 32  char *cfg_default_properties[CFG_N_PROPS
Line 32  char *cfg_default_properties[CFG_N_PROPS
         /* CFG_LINE_SHORT_OPTION_PREFIX */                              { "-",  NULL, NULL, NULL },          /* CFG_LINE_SHORT_OPTION_PREFIX */                              { "-",  NULL, NULL, NULL },
         /* CFG_LINE_LONG_OPTION_PREFIX */                               { "--", NULL, NULL, NULL },          /* CFG_LINE_LONG_OPTION_PREFIX */                               { "--", NULL, NULL, NULL },
         /* CFG_LINE_OPTION_ARG_SEPARATOR */                             { "=",  NULL, NULL, NULL },          /* CFG_LINE_OPTION_ARG_SEPARATOR */                             { "=",  NULL, NULL, NULL },
         /* CFG_LINE_MULTI_VALS_SEPARATOR */                             { ",",  ";",  NULL, NULL },          /* CFG_LINE_NORMAL_MULTI_VALS_SEPARATOR */              { ",",  ";",  NULL, NULL },
         /* CFG_LINE_MULTI_VALS_LEFTOVER_SEPARATOR */    { NULL, NULL, NULL, NULL },          /* CFG_LINE_LEFTOVER_MULTI_VALS_SEPARATOR */    { NULL, NULL, NULL, NULL },
         /* CFG_LINE_QUOTE_PREFIX */                                             { NULL, NULL, NULL, NULL },          /* CFG_LINE_QUOTE_PREFIX */                                             { NULL, NULL, NULL, NULL },
         /* CFG_LINE_QUOTE_POSTFIX */                                    { NULL, NULL, NULL, NULL },          /* CFG_LINE_QUOTE_POSTFIX */                                    { NULL, NULL, NULL, NULL },
         /* CFG_FILE_STOP_PREFIX */                                              { NULL, NULL, NULL, NULL },          /* CFG_FILE_STOP_PREFIX */                                              { NULL, NULL, NULL, NULL },
         /* CFG_FILE_COMMENT_PREFIX */                                   { "#",  ";",  NULL, NULL },          /* CFG_FILE_COMMENT_PREFIX */                                   { "#",  ";",  NULL, NULL },
         /* CFG_FILE_MULTI_LINE_POSTFIX */                               { "\\", NULL, NULL, NULL },          /* CFG_FILE_MULTI_LINE_POSTFIX */                               { "\\", NULL, NULL, NULL },
         /* CFG_FILE_OPTION_ARG_SEPARATOR */                             { "=",  NULL, NULL, NULL },          /* CFG_FILE_OPTION_ARG_SEPARATOR */                             { "=",  NULL, NULL, NULL },
         /* CFG_FILE_MULTI_VALS_SEPARATOR */                             { ",",  ";",  " ",  NULL },          /* CFG_FILE_NORMAL_MULTI_VALS_SEPARATOR */              { ",",  ";",  " ",  NULL },
         /* CFG_FILE_MULTI_VALS_LEFTOVER_SEPARATOR */    { " ",  NULL, NULL, NULL },          /* CFG_FILE_LEFTOVER_MULTI_VALS_SEPARATOR */    { " ",  NULL, NULL, NULL },
         /* CFG_FILE_QUOTE_PREFIX */                                             { "\"", "'",  NULL, NULL },          /* CFG_FILE_QUOTE_PREFIX */                                             { "\"", "'",  NULL, NULL },
         /* CFG_FILE_QUOTE_POSTFIX */                                    { "\"", "'",  NULL, NULL },          /* CFG_FILE_QUOTE_POSTFIX */                                    { "\"", "'",  NULL, NULL },
         }; /* }}} */          }; /* }}} */
Line 50  char *cfg_default_properties[CFG_N_PROPS
Line 50  char *cfg_default_properties[CFG_N_PROPS
  * Static functions for strdyn manipulation   * Static functions for strdyn manipulation
  */   */
   
         static void          static int
 strdyn_array_clear(where)  strdyn_array_clear(where)
         char ***where;          char ***where;
 { /* {{{ */  { /* {{{ */
   #if 0
         if (*where != NULL)          if (*where != NULL)
                 strdyn_free(*where);  #endif
                   *where = strdyn_remove_all(*where);
   
         *where = NULL;          return *where != NULL;
 } /* }}} */  } /* }}} */
   
         static int          static int
Line 65  strdyn_array_add(where, str)
Line 67  strdyn_array_add(where, str)
         char ***where;          char ***where;
         char *str;          char *str;
 { /* {{{ */  { /* {{{ */
   #if 0
         if (*where == NULL)          if (*where == NULL)
                 *where = strdyn_create();                  *where = strdyn_create();
   #endif
   
         *where = strdyn_add(*where, str);          *where = strdyn_add(*where, str);
   
Line 78  strdyn_array_remove(where, str)
Line 82  strdyn_array_remove(where, str)
         char ***where;          char ***where;
         char *str;          char *str;
 { /* {{{ */  { /* {{{ */
   #if 0
         if (*where != NULL)          if (*where != NULL)
   #endif
                 *where = strdyn_remove_str_all(*where, str);                  *where = strdyn_remove_str_all(*where, str);
   
         return *where != NULL;          return *where != NULL;
Line 137  cfg_get_context_flags(con)
Line 143  cfg_get_context_flags(con)
 #define cfg_normal_property_type(type) ((type) >= 0 && (type) < CFG_N_PROPS)  #define cfg_normal_property_type(type) ((type) >= 0 && (type) < CFG_N_PROPS)
 #define cfg_virtual_property_type(type) ((type) > CFG_N_PROPS)  #define cfg_virtual_property_type(type) ((type) > CFG_N_PROPS)
   
         void          int
 cfg_clear_property(con, type)  cfg_clear_property(con, type)
         const CFG_CONTEXT con;          const CFG_CONTEXT con;
         enum cfg_property_type type;          enum cfg_property_type type;
 { /* {{{ */  { /* {{{ */
         if (cfg_normal_property_type(type)) {          if (cfg_normal_property_type(type)) {
                 strdyn_array_clear(&(con->prop[type]));                  return strdyn_array_clear(&(con->prop[type]));
         }          }
         else if (cfg_virtual_property_type(type)) {          else if (cfg_virtual_property_type(type)) {
                   register int ret = 1;
                 switch (type) {                  switch (type) {
                         default: /* unknown special property; do nothing */                          default: /* unknown special property; do nothing */
                                   ret = 0;
                                 break;                                  break;
                         case CFG_QUOTE:                          case CFG_QUOTE:
                                 cfg_clear_property(con, CFG_LINE_QUOTE);                                  ret &= cfg_clear_property(con, CFG_LINE_QUOTE);
                                 cfg_clear_property(con, CFG_FILE_QUOTE);                                  ret &= cfg_clear_property(con, CFG_FILE_QUOTE);
                                 break;                                  break;
                         case CFG_LINE_QUOTE:                          case CFG_LINE_QUOTE:
                                 cfg_clear_property(con, CFG_LINE_QUOTE_PREFIX);                                  ret &= cfg_clear_property(con, CFG_LINE_QUOTE_PREFIX);
                                 cfg_clear_property(con, CFG_LINE_QUOTE_POSTFIX);                                  ret &= cfg_clear_property(con, CFG_LINE_QUOTE_POSTFIX);
                                 break;                                  break;
                         case CFG_FILE_QUOTE:                          case CFG_FILE_QUOTE:
                                 cfg_clear_property(con, CFG_FILE_QUOTE_PREFIX);                                  ret &= cfg_clear_property(con, CFG_FILE_QUOTE_PREFIX);
                                 cfg_clear_property(con, CFG_FILE_QUOTE_POSTFIX);                                  ret &= cfg_clear_property(con, CFG_FILE_QUOTE_POSTFIX);
                                 break;                                  break;
                         case CFG_QUOTE_PREFIX:                          case CFG_QUOTE_PREFIX:
                                 cfg_clear_property(con, CFG_LINE_QUOTE_PREFIX);                                  ret &= cfg_clear_property(con, CFG_LINE_QUOTE_PREFIX);
                                 cfg_clear_property(con, CFG_FILE_QUOTE_PREFIX);                                  ret &= cfg_clear_property(con, CFG_FILE_QUOTE_PREFIX);
                                 break;                                  break;
                         case CFG_QUOTE_POSTFIX:                          case CFG_QUOTE_POSTFIX:
                                 cfg_clear_property(con, CFG_LINE_QUOTE_POSTFIX);                                  ret &= cfg_clear_property(con, CFG_LINE_QUOTE_POSTFIX);
                                 cfg_clear_property(con, CFG_FILE_QUOTE_POSTFIX);                                  ret &= cfg_clear_property(con, CFG_FILE_QUOTE_POSTFIX);
                                 break;                                  break;
                         case CFG_MULTI_VALS_SEPARATOR:                          case CFG_MULTI_VALS_SEPARATOR:
                                 cfg_clear_property(con, CFG_LINE_MULTI_VALS_SEPARATOR);                                  ret &= cfg_clear_property(con, CFG_LINE_MULTI_VALS_SEPARATOR);
                                 cfg_clear_property(con, CFG_FILE_MULTI_VALS_SEPARATOR);                                  ret &= cfg_clear_property(con, CFG_FILE_MULTI_VALS_SEPARATOR);
                                 break;                                  break;
                         case CFG_LINE_MULTI_VALS_SEPARATOR:                          case CFG_LINE_MULTI_VALS_SEPARATOR:
                                 cfg_clear_property(con, CFG_LINE_NORMAL_MULTI_VALS_SEPARATOR);                                  ret &= cfg_clear_property(con,
                                 cfg_clear_property(con, CFG_LINE_LEFTOVER_MULTI_VALS_SEPARATOR);                                                  CFG_LINE_NORMAL_MULTI_VALS_SEPARATOR);
                                   ret &= cfg_clear_property(con,
                                                   CFG_LINE_LEFTOVER_MULTI_VALS_SEPARATOR);
                                 break;                                  break;
                         case CFG_FILE_MULTI_VALS_SEPARATOR:                          case CFG_FILE_MULTI_VALS_SEPARATOR:
                                 cfg_clear_property(con, CFG_FILE_NORMAL_MULTI_VALS_SEPARATOR);                                  ret &= cfg_clear_property(con,
                                 cfg_clear_property(con, CFG_FILE_LEFTOVER_MULTI_VALS_SEPARATOR);                                                  CFG_FILE_NORMAL_MULTI_VALS_SEPARATOR);
                                   ret &= cfg_clear_property(con,
                                                   CFG_FILE_LEFTOVER_MULTI_VALS_SEPARATOR);
                                 break;                                  break;
                         case CFG_NORMAL_MULTI_VALS_SEPARATOR:                          case CFG_NORMAL_MULTI_VALS_SEPARATOR:
                                 cfg_clear_property(con, CFG_LINE_NORMAL_MULTI_VALS_SEPARATOR);                                  ret &= cfg_clear_property(con,
                                 cfg_clear_property(con, CFG_FILE_NORMAL_MULTI_VALS_SEPARATOR);                                                  CFG_LINE_NORMAL_MULTI_VALS_SEPARATOR);
                                   ret &= cfg_clear_property(con,
                                                   CFG_FILE_NORMAL_MULTI_VALS_SEPARATOR);
                                 break;                                  break;
                         case CFG_LEFTOVER_MULTI_VALS_SEPARATOR:                          case CFG_LEFTOVER_MULTI_VALS_SEPARATOR:
                                 cfg_clear_property(con, CFG_LINE_LEFTOVER_MULTI_VALS_SEPARATOR);                                  ret &= cfg_clear_property(con,
                                 cfg_clear_property(con, CFG_FILE_LEFTOVER_MULTI_VALS_SEPARATOR);                                                  CFG_LINE_LEFTOVER_MULTI_VALS_SEPARATOR);
                                   ret &= cfg_clear_property(con,
                                                   CFG_FILE_LEFTOVER_MULTI_VALS_SEPARATOR);
                                 break;                                  break;
                         case CFG_OPTION_ARG_SEPARATOR:                          case CFG_OPTION_ARG_SEPARATOR:
                                 cfg_clear_property(con, CFG_LINE_OPTION_ARG_SEPARATOR);                                  ret &= cfg_clear_property(con, CFG_LINE_OPTION_ARG_SEPARATOR);
                                 cfg_clear_property(con, CFG_FILE_OPTION_ARG_SEPARATOR);                                  ret &= cfg_clear_property(con, CFG_FILE_OPTION_ARG_SEPARATOR);
                                 break;                                  break;
                 }                  }
   
                   return ret;
         }          }
   
           return 0; /* failure */
 } /* }}} */  } /* }}} */
   
         int          int

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

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