/* OpenIDA - Outil d'analyse de fichiers binaires * dbg_format.c - support des formats de débogage * * Copyright (C) 2008 Cyrille Bagard * * This file is part of OpenIDA. * * 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 . */ #include "dbg_format.h" #include /* liste de tous les formats de débogage enregistrés */ typedef struct _dbg_formats { dbg_format **list; /* Série d'éléments */ size_t count; /* Nombre de ces éléments */ } dbg_formats; /* Fournit la liste des formats de débogage enregistrés. */ dbg_formats *get_debug_formats(void); /****************************************************************************** * * * Paramètres : - * * * * Description : Fournit la liste des formats de débogage enregistrés. * * * * Retour : Liste des formats enregistrés. * * * * Remarques : - * * * ******************************************************************************/ dbg_formats *get_debug_formats(void) { static dbg_formats *result = NULL; /* Liste à retourner */ if (result == NULL) result = (dbg_formats *)calloc(1, sizeof(dbg_formats)); return result; } /****************************************************************************** * * * Paramètres : format = nouvel élément à inscrire dans l'ensemble. * * * * Description : Ajoute un nouveau format de débogage à la liste supportée. * * * * Retour : - * * * * Remarques : - * * * ******************************************************************************/ void register_debug_format(dbg_format *format) { dbg_formats *formats; /* Liste à compléter */ formats = get_debug_formats(); formats->list = (dbg_format **)realloc(formats->list, ++formats->count * sizeof(dbg_format *)); formats->list[formats->count - 1] = format; }