diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2016-03-13 23:59:29 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2016-03-13 23:59:29 (GMT) |
commit | 8d8e5c02096f59a7227308a591fc5050ea5d92ff (patch) | |
tree | 15b5bc10b963d492d4393b83ccfd347230d6b41e /src/common | |
parent | bde67ccf58fc858d5d0db4929db149ea12f50f96 (diff) |
Given more flexibility to the field names of locations in XML databases.
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/sqlite.c | 36 | ||||
-rw-r--r-- | src/common/sqlite.h | 12 |
2 files changed, 47 insertions, 1 deletions
diff --git a/src/common/sqlite.c b/src/common/sqlite.c index ec3c280..2fe1096 100644 --- a/src/common/sqlite.c +++ b/src/common/sqlite.c @@ -24,6 +24,7 @@ #include "sqlite.h" +#include <malloc.h> #include <string.h> @@ -32,6 +33,41 @@ * * * Paramètres : values = tableau d'éléments à consulter. * * count = nombre de descriptions renseignées. * +* * +* Description : Libère de la mémoire un ensemble de valeurs en fin de vie. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void free_all_bound_values(bound_value *values, size_t count) +{ + size_t i; /* Boucle de parcours */ + bound_value *value; /* Valeur à traiter */ + + return; + + for (i = 0; i < count; i++) + { + value = values + i; + + if (value->built_name) + free(value->name); + + } + + if (values != NULL) + free(values); + +} + + +/****************************************************************************** +* * +* Paramètres : values = tableau d'éléments à consulter. * +* count = nombre de descriptions renseignées. * * name = désignation de la valeur recherchée. * * * * Description : Effectue une recherche au sein d'un ensemble de valeurs. * diff --git a/src/common/sqlite.h b/src/common/sqlite.h index 064972b..e4f05a2 100644 --- a/src/common/sqlite.h +++ b/src/common/sqlite.h @@ -41,7 +41,14 @@ /* Description des champs et de leur valeur associée */ typedef struct _bound_value { - const char *name; /* Nom du champ à manipuler */ + union + { + char *name; /* Nom du champ à manipuler #1 */ + const char *cname; /* Nom du champ à manipuler #2 */ + + }; + bool built_name; /* Nom à libérer après usage */ + unsigned int type; /* Type de valeur à associer */ union @@ -59,6 +66,9 @@ typedef struct _bound_value } bound_value; +/* Libère de la mémoire un ensemble de valeurs en fin de vie. */ +void free_all_bound_values(bound_value *, size_t); + /* Effectue une recherche au sein d'un ensemble de valeurs. */ const bound_value *find_bound_value(const bound_value *, size_t, const char *); |