summaryrefslogtreecommitdiff
path: root/src/analysis/cattribs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/cattribs.c')
-rw-r--r--src/analysis/cattribs.c45
1 files changed, 14 insertions, 31 deletions
diff --git a/src/analysis/cattribs.c b/src/analysis/cattribs.c
index 704e665..1299991 100644
--- a/src/analysis/cattribs.c
+++ b/src/analysis/cattribs.c
@@ -37,8 +37,6 @@ struct _GContentAttributes
{
GObject parent; /* A laisser en premier */
- char *filename; /* Fichier de base du chemin */
-
GGenConfig **configs; /* Paramètres par niveaux */
size_t count; /* Quantité de ces niveaux */
@@ -108,8 +106,6 @@ static void g_content_attributes_class_init(GContentAttributesClass *klass)
static void g_content_attributes_init(GContentAttributes *attribs)
{
- attribs->filename = NULL;
-
attribs->configs = malloc(sizeof(GGenConfig *));
attribs->count = 1;
@@ -165,7 +161,8 @@ static void g_content_attributes_finalize(GContentAttributes *attribs)
/******************************************************************************
* *
-* Paramètres : path = chemin d'accès à un contenu à charger. *
+* Paramètres : path = chemin d'accès à un contenu à charger. *
+* filename = nom de fichier embarqué. *
* *
* Description : Construit un ensemble d'attribut pour contenu binaire. *
* *
@@ -175,7 +172,7 @@ static void g_content_attributes_finalize(GContentAttributes *attribs)
* *
******************************************************************************/
-GContentAttributes *g_content_attributes_new(const char *path)
+GContentAttributes *g_content_attributes_new(const char *path, char **filename)
{
GContentAttributes *result; /* Adresse à retourner */
GGenConfig *config; /* Niveau de config. courant */
@@ -184,17 +181,26 @@ GContentAttributes *g_content_attributes_new(const char *path)
char *part; /* Clef et sa valeur */
char *eq; /* Signe '=' rencontré */
+ if (filename != NULL)
+ *filename = NULL;
+
result = g_object_new(G_TYPE_CONTENT_ATTRIBUTES, NULL);
iter = strchr(path, '&');
if (iter == NULL)
- result->filename = strdup(path);
+ {
+ if (strlen(path) && filename != NULL)
+ *filename = strdup(path);
+ }
else
{
if (iter != path)
- result->filename = strndup(path, iter - path);
+ {
+ if (filename != NULL)
+ *filename = strndup(path, iter - path);
+ }
config = result->configs[0];
@@ -253,29 +259,6 @@ GContentAttributes *g_content_attributes_new(const char *path)
/******************************************************************************
* *
* Paramètres : attribs = ensemble d'attributs de contenu à consulter. *
-* *
-* Description : Fournit le fichier de base compris dans le chemin initial. *
-* *
-* Retour : Nom de fichier renvoyant vers un contenu à charger ou NULL. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-const char *g_content_attributes_get_filename(const GContentAttributes *attribs)
-{
- char *result; /* Nom de fichier à retourner */
-
- result = attribs->filename;
-
- return result;
-
-}
-
-
-/******************************************************************************
-* *
-* Paramètres : attribs = ensemble d'attributs de contenu à consulter. *
* count = taille de la liste de clefs renvoyées. [OUT] *
* *
* Description : Fournit l'ensemble des clefs d'un ensemble d'attributs. *