1 /* String tables for ld.so.cache construction. Deallocation (for tests only). 2 Copyright (C) 2020-2022 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published 7 by the Free Software Foundation; version 2 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, see <https://www.gnu.org/licenses/>. */ 17 18 #include <stdlib.h> 19 #include <stringtable.h> 20 21 void stringtable_free(struct stringtable * table)22stringtable_free (struct stringtable *table) 23 { 24 for (uint32_t i = 0; i < table->allocated; ++i) 25 for (struct stringtable_entry *e = table->entries[i]; e != NULL; ) 26 { 27 struct stringtable_entry *next = e->next; 28 free (e); 29 e = next; 30 } 31 free (table->entries); 32 *table = (struct stringtable) { 0, }; 33 } 34