GDB (xrefs)
Loading...
Searching...
No Matches
gdb
filename-seen-cache.c
Go to the documentation of this file.
1
/* Filename-seen cache for the GNU debugger, GDB.
2
3
Copyright (C) 1986-2023 Free Software Foundation, Inc.
4
5
This file is part of GDB.
6
7
This program is free software; you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation; either version 3 of the License, or
10
(at your option) any later version.
11
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20
#include "
defs.h
"
21
#include "
filename-seen-cache.h
"
22
#include "filenames.h"
23
24
/* Initial size of the table. It automagically grows from here. */
25
#define INITIAL_FILENAME_SEEN_CACHE_SIZE 100
26
27
/* filename_seen_cache constructor. */
28
29
filename_seen_cache::filename_seen_cache
()
30
: m_tab (htab_create_alloc (
INITIAL_FILENAME_SEEN_CACHE_SIZE
,
31
filename_hash, filename_eq,
32
NULL,
xcalloc
,
xfree
))
33
{
34
}
35
36
/* See filename-seen-cache.h. */
37
38
void
39
filename_seen_cache::clear
()
40
{
41
htab_empty (
m_tab
.get ());
42
}
43
44
/* See filename-seen-cache.h. */
45
46
bool
47
filename_seen_cache::seen
(
const
char
*file)
48
{
49
void
**slot;
50
51
/* Is FILE in tab? */
52
slot = htab_find_slot (
m_tab
.get (), file, INSERT);
53
if
(*slot != NULL)
54
return
true
;
55
56
/* No; add it to tab. */
57
*slot = (
char
*) file;
58
return
false
;
59
}
xfree
void xfree(void *)
xcalloc
void * xcalloc(size_t number, size_t size)
Definition
alloc.c:85
filename_seen_cache::clear
void clear()
Definition
filename-seen-cache.c:39
filename_seen_cache::seen
bool seen(const char *file)
Definition
filename-seen-cache.c:47
filename_seen_cache::filename_seen_cache
filename_seen_cache()
Definition
filename-seen-cache.c:29
filename_seen_cache::m_tab
htab_up m_tab
Definition
filename-seen-cache.h:63
defs.h
INITIAL_FILENAME_SEEN_CACHE_SIZE
#define INITIAL_FILENAME_SEEN_CACHE_SIZE
Definition
filename-seen-cache.c:25
filename-seen-cache.h
Generated by
1.10.0