diff --git a/src/modules/filesystem/wrap_Filesystem.cpp b/src/modules/filesystem/wrap_Filesystem.cpp index a1e0b1773..21794ab73 100644 --- a/src/modules/filesystem/wrap_Filesystem.cpp +++ b/src/modules/filesystem/wrap_Filesystem.cpp @@ -631,8 +631,18 @@ int loader(lua_State *L) auto *inst = instance(); for (std::string element : inst->getRequirePath()) { - size_t pos = element.find('?'); - if (pos != std::string::npos) + // [Modified: 20170104] @evanyeung + // Remark: For each template, the searcher will change + // the first interrogation mark in the template by the file name. + // size_t pos = element.find('?'); + // if (pos != std::string::npos) + // element.replace(pos, 1, modulename); + + // [Modified: 20170104] @evanyeung + // Remark: For each template, the searcher will change + // each interrogation mark in the template by filename. + size_t pos = 0; + while ((pos = element.find('?', pos)) != std::string::npos) element.replace(pos, 1, modulename); if (inst->isFile(element.c_str()))