]> Nishi Git Mirror - gwion.git/commitdiff
:art: Small fixes
authorfennecdjay <fennecdjay@gwion.tk>
Wed, 4 Nov 2020 08:49:07 +0000 (09:49 +0100)
committerfennecdjay <fennecdjay@gwion.tk>
Wed, 4 Nov 2020 08:49:07 +0000 (09:49 +0100)
src/import/import_internals.c
src/plug.c

index 69438f012c9c0bb231891f9a9333ad960f5728e8..8ddc53b0a527520f474da1b4249ab5e6999809f1 100644 (file)
@@ -29,8 +29,11 @@ ANN void gwi_reset(const Gwi gwi) {
 }
 
 ANN m_bool gwi_run(const Gwion gwion, m_bool (*f)(const Gwi)) {
+   const m_str name = gwion->env->name;
    struct loc_t_ loc = {};
    OperCK oper = {};
    struct Gwi_ gwi = { .gwion=gwion, .loc=&loc, .oper=&oper };
-   return f(&gwi);
+   const m_bool ret = f(&gwi);
+   gwion->env->name = name;
+   return ret;
 }
index 619e63778cefa7b27c09ad1f86ac1be50a9b3a1b..b7694be14e54b9841f53ae71ac1e0b1b64cde221 100644 (file)
@@ -174,10 +174,10 @@ ANN m_bool plugin_ini(struct Gwion_ *gwion, const m_str iname) {
   const Map map = &gwion->data->plug;
   for(m_uint i = 0; i < map_size(map); ++i) {
     const Plug plug = (Plug)VVAL(map, i);
-    if(plug->imp)
-      return GW_OK;
     const m_str name = (m_str)VKEY(map, i);
     if(!strcmp(name, iname)) {
+      if(plug->imp)
+        return GW_OK;
       const plugin imp = DLSYM(plug->dl, plugin, GWIMPORT_NAME);
       if(!imp)
         break;