Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
authorMartin Quinson <martin.quinson@loria.fr>
Sun, 28 Feb 2016 11:58:20 +0000 (12:58 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Sun, 28 Feb 2016 11:58:20 +0000 (12:58 +0100)
1  2 
src/bindings/lua/lua_platf.cpp
src/xbt/log.c
tools/cmake/DefinePackages.cmake

@@@ -8,7 -8,6 +8,7 @@@
  
  #include "lua_private.h"
  #include "src/surf/xml/platf_private.hpp"
 +#include "src/surf/network_interface.hpp"
  #include "surf/surf_routing.h"
  #include <string.h>
  #include <ctype.h>
@@@ -20,7 -19,7 +20,7 @@@ extern "C" 
  #include <simgrid/host.h>
  #include "src/surf/surf_private.h"
  
- XBT_LOG_NEW_DEFAULT_SUBCATEGORY(lua_platf, bindings, "Lua bindings (platform module)");
+ XBT_LOG_NEW_DEFAULT_CATEGORY(lua_platf, "Lua bindings (platform module)");
  
  #define PLATF_MODULE_NAME "simgrid.platf"
  
@@@ -365,22 -364,9 +365,22 @@@ int console_add_route(lua_State *L) 
    if (type != LUA_TSTRING) {
      XBT_ERROR("Attribute 'links' must be specified for any route and must be a string (different links separated by commas or single spaces.");
    }
 -  route.link_list = xbt_str_split(lua_tostring(L, -1), ", \t\r\n");
 -  if (xbt_dynar_is_empty(route.link_list))
 -    xbt_dynar_push_as(route.link_list,char*,xbt_strdup(lua_tostring(L, -1)));
 +  route.link_list = new std::vector<Link*>();
 +  xbt_dynar_t names = xbt_str_split(lua_tostring(L, -1), ", \t\r\n");
 +  if (xbt_dynar_is_empty(names)) {
 +    /* unique name */
 +    route.link_list->push_back(Link::byName(lua_tostring(L, -1)));
 +  } else {
 +    // Several names separated by , \t\r\n
 +    unsigned int cpt;
 +    char *name;
 +    xbt_dynar_foreach(names, cpt, name) {
 +      if (strlen(name)>0) {
 +        Link *link = Link::byName(name);
 +        route.link_list->push_back(link);
 +      }
 +    }
 +  }
    lua_pop(L,1);
  
    /* We are relying on the XML bypassing mechanism since the corresponding sg_platf does not exist yet.
@@@ -448,22 -434,9 +448,22 @@@ int console_add_ASroute(lua_State *L) 
  
    lua_pushstring(L,"links");
    lua_gettable(L,-2);
 -  ASroute.link_list = xbt_str_split(lua_tostring(L, -1), ", \t\r\n");
 -  if (xbt_dynar_is_empty(ASroute.link_list))
 -    xbt_dynar_push_as(ASroute.link_list,char*,xbt_strdup(lua_tostring(L, -1)));
 +  ASroute.link_list = new std::vector<Link*>();
 +  xbt_dynar_t names = xbt_str_split(lua_tostring(L, -1), ", \t\r\n");
 +  if (xbt_dynar_is_empty(names)) {
 +    /* unique name */
 +    ASroute.link_list->push_back(Link::byName(lua_tostring(L, -1)));
 +  } else {
 +    // Several names separated by , \t\r\n
 +    unsigned int cpt;
 +    char *name;
 +    xbt_dynar_foreach(names, cpt, name) {
 +      if (strlen(name)>0) {
 +        Link *link = Link::byName(name);
 +        ASroute.link_list->push_back(link);
 +      }
 +    }
 +  }
    lua_pop(L,1);
  
    lua_pushstring(L,"symmetrical");
diff --combined src/xbt/log.c
@@@ -570,6 -570,9 +570,6 @@@ static void xbt_log_connect_categories(
    XBT_LOG_CONNECT(xbt_dict);
    XBT_LOG_CONNECT(xbt_dict_cursor);
    XBT_LOG_CONNECT(xbt_dict_elm);
 -#ifdef XBT_USE_DEPRECATED
 -  XBT_LOG_CONNECT(xbt_dict_multi);
 -#endif
    XBT_LOG_CONNECT(xbt_dyn);
    XBT_LOG_CONNECT(xbt_ex);
    XBT_LOG_CONNECT(xbt_fifo);
  
    /* bindings */
  #ifdef HAVE_LUA
-   XBT_LOG_CONNECT(bindings);
    XBT_LOG_CONNECT(lua);
    XBT_LOG_CONNECT(lua_host);
    XBT_LOG_CONNECT(lua_platf);
@@@ -249,6 -249,7 +249,6 @@@ set(XBT_SR
    src/xbt/dict.c
    src/xbt/dict_cursor.c
    src/xbt/dict_elm.c
 -  src/xbt/dict_multi.c
    src/xbt/dynar.c
    src/xbt/ex.c
    src/xbt/fifo.c
@@@ -437,7 -438,6 +437,6 @@@ else(
  endif()
  
  set(BINDINGS_SRC
-   src/bindings/bindings_global.c
    src/bindings/lua/lua_private.h
    src/bindings/lua/lua_utils.h
    src/bindings/lua/simgrid_lua.h