- 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);
+ }
+ }
+ }