txlyre hai 2 días
pai
achega
24b09c4ebc
Modificáronse 1 ficheiros con 8 adicións e 1 borrados
  1. 8 1
      qic.c

+ 8 - 1
qic.c

@@ -5000,6 +5000,14 @@ int require_once(buffer_t *gbuf, buffer_t *buf, list_t *ctx, table_t *ltab,
         return -1;
         return -1;
     }
     }
 
 
+    path = realpath(path, NULL);
+
+    if (is_required(path)) {
+      fclose(fd);
+
+      return 1;
+    }
+    
     buffer_t *fbuf = buffer_new();
     buffer_t *fbuf = buffer_new();
 
 
     for (;;)
     for (;;)
@@ -5013,7 +5021,6 @@ int require_once(buffer_t *gbuf, buffer_t *buf, list_t *ctx, table_t *ltab,
     }
     }
 
 
     source = buffer_read(fbuf);
     source = buffer_read(fbuf);
-    path = realpath(path, NULL);
   }
   }
 
 
   list_t *pair = list_new();
   list_t *pair = list_new();