diff options
Diffstat (limited to 'src/common')
-rwxr-xr-x | src/common/Makefile.am | 2 | ||||
-rw-r--r-- | src/common/sqlite.c | 58 | ||||
-rw-r--r-- | src/common/sqlite.h | 6 |
3 files changed, 65 insertions, 1 deletions
diff --git a/src/common/Makefile.am b/src/common/Makefile.am index 7615f43..1ab4768 100755 --- a/src/common/Makefile.am +++ b/src/common/Makefile.am @@ -14,7 +14,7 @@ libcommon_la_SOURCES = \ leb128.h leb128.c \ macros.h \ net.h net.c \ - sqlite.h \ + sqlite.h sqlite.c \ xdg.h xdg.c \ xml.h xml.c diff --git a/src/common/sqlite.c b/src/common/sqlite.c new file mode 100644 index 0000000..ec3c280 --- /dev/null +++ b/src/common/sqlite.c @@ -0,0 +1,58 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * sqlite.c - extension des définitions propres à SQLite + * + * Copyright (C) 2015 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * OpenIDA is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * OpenIDA is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <http://www.gnu.org/licenses/>. + */ + + +#include "sqlite.h" + + +#include <string.h> + + + +/****************************************************************************** +* * +* 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. * +* * +* Retour : Elément retrouvé ou NULL en cas d'échec. * +* * +* Remarques : - * +* * +******************************************************************************/ + +const bound_value *find_bound_value(const bound_value *values, size_t count, const char *name) +{ + const bound_value *result; /* Trouvaille à retourner */ + size_t i; /* Boucle de parcours */ + + result = NULL; + + for (i = 0; i < count && result == NULL; i++) + if (strcmp(values[i].name, name) == 0) + result = &values[i]; + + return result; + +} diff --git a/src/common/sqlite.h b/src/common/sqlite.h index 66fb773..559af38 100644 --- a/src/common/sqlite.h +++ b/src/common/sqlite.h @@ -26,6 +26,8 @@ #include <stdint.h> +#include <sys/types.h> + /* Type pour les insertions brutes */ @@ -52,5 +54,9 @@ typedef struct _bound_value } bound_value; +/* Effectue une recherche au sein d'un ensemble de valeurs. */ +const bound_value *find_bound_value(const bound_value *, size_t, const char *); + + #endif /* _COMMON_SQLITE_H */ |