diff options
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/plugin-def.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/plugins/plugin-def.h b/src/plugins/plugin-def.h index 6d4253e..3717035 100644 --- a/src/plugins/plugin-def.h +++ b/src/plugins/plugin-def.h @@ -223,14 +223,22 @@ typedef struct _plugin_interface uint64_t magic; /* Vérification a minima */ plugin_abi_version_t abi_version; /* Version du protocole utilisé*/ - const char *gtp_name; /* Désignation du GType associé*/ - const char *name; /* Désignation humaine courte */ - const char *desc; /* Description plus loquace */ - const char *version; /* Version du greffon */ + /** + * Les champs suivants ne sont généralement pas alloués dynamiquement, + * car issus des données des greffons natifs. + * + * Dans le cas des autres types d'extensions (par exemple ceux en Python), + * les éléments sont construits à la volée, donc à libérer après usage. + */ + + char *gtp_name; /* Désignation du GType associé*/ + char *name; /* Désignation humaine courte */ + char *desc; /* Description plus loquace */ + char *version; /* Version du greffon */ bool container; /* Mise en place de greffons ? */ - const char **required; /* Pré-chargements requis */ + char **required; /* Pré-chargements requis */ size_t required_count; /* Quantité de ces dépendances */ plugin_action_t *actions; /* Liste des actions gérées */ @@ -251,7 +259,7 @@ typedef struct _plugin_interface #define AL(...) BUILD_PG_LIST(.actions, ((plugin_action_t []){ __VA_ARGS__ })) -#define RL(...) BUILD_PG_LIST(.required, ((const char *[]){ __VA_ARGS__ })) +#define RL(...) BUILD_PG_LIST(.required, ((char *[]){ __VA_ARGS__ })) #define NO_REQ EMPTY_PG_LIST(.required) |