Diff for /libaitcfg/src/parse.c between versions 1.13.2.1 and 1.13.2.3

version 1.13.2.1, 2014/01/30 08:13:09 version 1.13.2.3, 2014/01/30 08:27:43
Line 47  SUCH DAMAGE. Line 47  SUCH DAMAGE.
   
   
 /*  /*
 static inline void  
 _invertQueue(cfg_root_t * __restrict cfg)  
 {  
         struct tagCfg *item, *next, *prev = NULL;  
   
         SLIST_FOREACH_SAFE(item, cfg, cfg_next, next) {  
                 item->cfg_next.sle_next = prev;  
                 prev = item;  
         }  
         cfg->slh_first = prev;  
 }  
 */  
   
   
 /*  
  * cfgReadConfig() - Read file and add new item at config root   * cfgReadConfig() - Read file and add new item at config root
  *   *
  * @f = File resource   * @f = File resource
Line 205  cfgWriteConfig(FILE *f, cfg_root_t * __restrict cfg, i Line 190  cfgWriteConfig(FILE *f, cfg_root_t * __restrict cfg, i
                 return -1;                  return -1;
         }          }
   
           if (whitespace) {
                   time(&tim);
                   memset(line, 0, sizeof line);
                   strftime(line, sizeof line, "(UTC) %Y-%m-%d %H:%M:%S", gmtime(&tim));
                   cfg_Write(f, "## Config auto-generated at :: %s ##\n", line);
           }
   
         CFG_RC_LOCK(cfg);          CFG_RC_LOCK(cfg);
//      _invertQueue(cfg);        RB_FOREACH(av, tagRC, cfg) {
        TAILQ_FOREACH(av, cfg, cfg_next) { 
                 /* empty lines or comment */                  /* empty lines or comment */
                 if (AIT_ISEMPTY(&av->cfg_attr)) {                  if (AIT_ISEMPTY(&av->cfg_attr)) {
                         if (AIT_ISEMPTY(&av->cfg_val))                          if (AIT_ISEMPTY(&av->cfg_val))
Line 218  cfgWriteConfig(FILE *f, cfg_root_t * __restrict cfg, i Line 209  cfgWriteConfig(FILE *f, cfg_root_t * __restrict cfg, i
   
                 /* section [] */                  /* section [] */
                 if (!AIT_ISEMPTY(&av->cfg_sec) && AIT_ADDR(&av->cfg_sec) &&                   if (!AIT_ISEMPTY(&av->cfg_sec) && AIT_ADDR(&av->cfg_sec) && 
                                strcmp(AIT_GET_STR(&av->cfg_sec), szSection)) {                                strcmp(AIT_GET_STRZ(&av->cfg_sec), szSection)) {
                         strlcpy(szSection, AIT_GET_STR(&av->cfg_sec), sizeof szSection);                          strlcpy(szSection, AIT_GET_STR(&av->cfg_sec), sizeof szSection);
                        if (!cfg_Write(f, "[%s]\n", AIT_GET_STR(&av->cfg_sec))) {                        if (!cfg_Write(f, "\n[%s]\n", AIT_GET_STR(&av->cfg_sec))) {
                                 LOGERR;                                  LOGERR;
 //                              _invertQueue(cfg);  
                                 CFG_RC_UNLOCK(cfg);                                  CFG_RC_UNLOCK(cfg);
                                 return -1;                                  return -1;
                         }                          }
                 } else if (AIT_ISEMPTY(&av->cfg_sec) && *szSection) {                  } else if (AIT_ISEMPTY(&av->cfg_sec) && *szSection) {
                         memset(szSection, 0, sizeof szSection);                          memset(szSection, 0, sizeof szSection);
                        if (!cfg_Write(f, "[]\n")) {                        if (!cfg_Write(f, "\n[]\n")) {
                                 LOGERR;                                  LOGERR;
 //                              _invertQueue(cfg);  
                                 CFG_RC_UNLOCK(cfg);                                  CFG_RC_UNLOCK(cfg);
                                 return -1;                                  return -1;
                         }                          }
Line 251  skip_sec: Line 240  skip_sec:
                 /* write */                  /* write */
                 if (!cfg_Write(f, "%s\n", line)) {                  if (!cfg_Write(f, "%s\n", line)) {
                         LOGERR;                          LOGERR;
 //                      _invertQueue(cfg);  
                         CFG_RC_UNLOCK(cfg);                          CFG_RC_UNLOCK(cfg);
                         return -1;                          return -1;
                 }                  }
         }          }
 //      _invertQueue(cfg);  
         CFG_RC_UNLOCK(cfg);          CFG_RC_UNLOCK(cfg);
   
         if (whitespace) {          if (whitespace) {
Line 474  cfgWriteLines(FILE *f, const char *delim, const char * Line 461  cfgWriteLines(FILE *f, const char *delim, const char *
                 if (section) {                  if (section) {
                         if (!AIT_ISEMPTY(&av->cfg_sec) && *section)                          if (!AIT_ISEMPTY(&av->cfg_sec) && *section)
                                 continue;                                  continue;
                        if (strcmp(section, AIT_GET_STR(&av->cfg_sec)))                        if (strcmp(section, AIT_GET_STRZ(&av->cfg_sec)))
                                 continue;                                  continue;
                 }                  }
   

Removed from v.1.13.2.1  
changed lines
  Added in v.1.13.2.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>