Ignore:
Timestamp:
Feb 3, 2015, 6:38:21 PM (9 years ago)
Author:
david
Message:
  • change user privileges
  • add new parameters in main.cfg
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/PublicaMundi_David-devel/zoo-project/zoo-kernel/zoo_service_loader.c

    r549 r553  
    212212}
    213213
    214 /**
    215 int
    216 recursReaddirF (maps * m, xmlNodePtr n, char *conf_dir, char *prefix,
    217                 int saved_stdout, int level, void (func) (maps *,
    218                                                           xmlNodePtr,
    219                                                           service *))
    220 {
    221   struct dirent *dp;
    222   int scount = 0;
    223 
    224   if (conf_dir == NULL)
    225     return 1;
    226   DIR *dirp = opendir (conf_dir);
    227   if (dirp == NULL)
    228     {
    229       if (level > 0)
    230         return 1;
    231       else
    232         return -1;
    233     }
    234   char tmp1[25];
    235   sprintf (tmp1, "sprefix_%d", level);
    236   char levels[17];
    237   sprintf (levels, "%d", level);
    238   setMapInMaps (m, "lenv", "level", levels);
    239   while ((dp = readdir (dirp)) != NULL)
    240     if ((dp->d_type == DT_DIR || dp->d_type == DT_LNK)
    241         && dp->d_name[0] != '.' && strstr (dp->d_name, ".") == NULL)
    242       {
    243 
    244         char *tmp =
    245           (char *)
    246           malloc ((strlen (conf_dir) + strlen (dp->d_name) +
    247                    2) * sizeof (char));
    248         sprintf (tmp, "%s/%s", conf_dir, dp->d_name);
    249 
    250         if (prefix != NULL)
    251           {
    252             prefix = NULL;
    253           }
    254         prefix = (char *) malloc ((strlen (dp->d_name) + 2) * sizeof (char));
    255         sprintf (prefix, "%s.", dp->d_name);
    256 
    257         // map* tmpMap=getMapFromMaps(m,"lenv",tmp1);
    258 
    259         int res;
    260         if (prefix != NULL)
    261           {
    262             setMapInMaps (m, "lenv", tmp1, prefix);
    263             char levels1[17];
    264             sprintf (levels1, "%d", level + 1);
    265             setMapInMaps (m, "lenv", "level", levels1);
    266             res =
    267               recursReaddirF (m, n, tmp, prefix, saved_stdout,
    268                               level + 1, func);
    269             sprintf (levels1, "%d", level);
    270             setMapInMaps (m, "lenv", "level", levels1);
    271             free (prefix);
    272             prefix = NULL;
    273           }
    274         else
    275           res = -1;
    276         free (tmp);
    277         if (res < 0)
    278           {
    279             return res;
    280           }
    281       }
    282     else
    283       {
    284         if (dp->d_name[0] != '.' && strstr (dp->d_name, ".zcfg") != 0)
    285           {
    286             int t;
    287             char tmps1[1024];
    288             memset (tmps1, 0, 1024);
    289             snprintf (tmps1, 1024, "%s/%s", conf_dir, dp->d_name);
    290             service *s1 = (service *) malloc (SERVICE_SIZE);
    291             if (s1 == NULL)
    292               {
    293                 dup2 (saved_stdout, fileno (stdout));
    294                 errorException (m, _("Unable to allocate memory."),
    295                                 "InternalError", NULL);
    296                 return -1;
    297               }
    298 #ifdef DEBUG
    299             fprintf (stderr,
    300                      "#################\n%s\n#################\n", tmps1);
    301 #endif
    302             t = readServiceFile (m, tmps1, &s1, dp->d_name);
    303 
    304             if (t < 0)
    305               {
    306                 map *tmp00 = getMapFromMaps (m, "lenv", "message");
    307                 char tmp01[1024];
    308                 if (tmp00 != NULL)
    309                   sprintf (tmp01,
    310                            _
    311                            ("Unable to parse the ZCFG file: %s (%s)"),
    312                            dp->d_name, tmp00->value);
    313                 else
    314                   sprintf (tmp01,
    315                            _
    316                            ("Unable to parse the ZCFG file: %s."),
    317                            dp->d_name);
    318                 dup2 (saved_stdout, fileno (stdout));
    319                 errorException (m, tmp01, "InternalError", NULL);
    320                 freeMaps (&m);
    321                 free (m);
    322                 return -1;
    323               }
    324 #ifdef DEBUG
    325             dumpService (s1);
    326             fflush (stdout);
    327             fflush (stderr);
    328 #endif
    329             func (m, n, s1);
    330             freeService (&s1);
    331             free (s1);
    332             scount++;
    333           }
    334       }
    335   (void) closedir (dirp);
    336   return 1;
    337 }
    338 **/
    339214xmlXPathObjectPtr
    340215extractFromDoc (xmlDocPtr doc, const char *search)
Note: See TracChangeset for help on using the changeset viewer.

Search

Context Navigation

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png