]> Nishi Git Mirror - gwion.git/commitdiff
:art: Improve plug API
authorfennecdjay <fennecdjay@gwion.tk>
Thu, 5 Nov 2020 15:04:59 +0000 (16:04 +0100)
committerfennecdjay <fennecdjay@gwion.tk>
Thu, 5 Nov 2020 15:04:59 +0000 (16:04 +0100)
include/plug.h
src/plug.c

index 57fa37dd9672815ed4e30d7398b82de8f4498778..a2c08e7a1c2742506da804b190a8e02dff260b59 100644 (file)
@@ -17,6 +17,6 @@ ANN m_bool plugin_ini(struct Gwion_ *gwion, const m_str iname);
 #define GWMODINI(a)  ANN2(1) void* GWMODINI_NAME(const struct Gwion_ *gwion NUSED, const Vector args NUSED)
 #define GWMODEND(a)  ANN void  GWMODEND_NAME(const struct Gwion_ *gwion NUSED, void* self NUSED)
 #define GWDRIVER(a)  ANN void  GWDRIVER_NAME(DriverData* d)
-#define GWDEPEND     ANN m_str*  GWDEPEND_NAME(void)
+#define GWDEPEND     ANN m_str* const GWDEPEND_NAME(void)
 
 #endif
index 4104cf202b025f40db13c2e9497f70452f9d9f6e..eeaceeca34c82f474456a20f7768b76e88e26da4 100644 (file)
@@ -157,7 +157,8 @@ ANN void plug_run(const struct Gwion_ *gwion, const Map mod) {
 ANN static m_bool dependencies(struct Gwion_ *gwion, const Plug plug) {
   const gwdeps dep = DLSYM(plug->dl, gwdeps, GWDEPEND_NAME);
   if(dep) {
-    m_str *deps = dep();
+    m_str *const base = dep();
+    m_str *deps = base;
     while(*deps) {
       CHECK_BB(plugin_ini(gwion, *deps))
       ++deps;