Diff for /libaitcfg/src/queue.c between versions 1.14.4.1 and 1.14.4.3

version 1.14.4.1, 2014/03/19 16:35:29 version 1.14.4.3, 2014/03/19 17:44:48
Line 72  _selectAttribute(cfg_root_t * __restrict cfg, const ch Line 72  _selectAttribute(cfg_root_t * __restrict cfg, const ch
                 do {                  do {
                         if (!strcmp(AIT_GET_STR(&c->cfg_attr), csAttr))                          if (!strcmp(AIT_GET_STR(&c->cfg_attr), csAttr))
                                 return c;       /* FOUND! */                                  return c;       /* FOUND! */
                } while (RB_NEXT(tagRC, cfg, c) && !cfg_tree_cmp(c, &fav));                } while ((c = RB_NEXT(tagRC, cfg, c)) && c && !cfg_tree_cmp(c, &fav));
                 return NULL;    /* not found */                  return NULL;    /* not found */
         }          }
 }  }
   
 /* --------------------------------------------------------------- */  /* --------------------------------------------------------------- */
   
   /*
    * cfg_getSection() - Get entire section attributes into array
    *
    * @cfg = Config root
    * @csSec = Config section //[{csSec}]
    * return: NULL not found or !=NULL allocated array, must free with array_Destroy() after use!
    */
   array_t *
   cfg_getSection(cfg_root_t * __restrict cfg, const char *csSec)
   {
           array_t *arr = NULL;
           struct tagCfg *av, fav;
   
           if (!cfg) {
                   cfg_SetErr(EINVAL, "Invalid argument(s)");
                   return NULL;
           } else
                   memset(&fav, 0, sizeof fav);
   
           if (csSec && *csSec)
                   AIT_KEY(&fav.cfg_sec) = crcFletcher16((u_short*) csSec, 
                                   E_ALIGN(strlen(csSec), 2) / 2);
   
           av = RB_NFIND(tagRC, cfg, &fav);
           if (!av)
                   return NULL;
           if (strcmp(AIT_GET_STR(&av->cfg_sec), csSec))
                   return NULL;
   
           arr = array_Init(1);
           if (!arr) {
                   cfg_SetErr(elwix_GetErrno(), "%s", elwix_GetError());
                   return NULL;
           } else
                   array_Push(arr, av, 0);
   
           while ((av = RB_NEXT(tagRC, cfg, av)) && av && !AIT_ISEMPTY(&av->cfg_sec) && 
                           !strcmp(AIT_GET_STR(&av->cfg_sec), csSec))
                   array_Push(arr, av, 0);
   
           return arr;
   }
   
 /*  /*
  * cfg_findAttribute() - Find attribute position in config file   * cfg_findAttribute() - Find attribute position in config file

Removed from v.1.14.4.1  
changed lines
  Added in v.1.14.4.3


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