Bill Currie
f91167d74a
[hash] Use uintptr_t for all hashes
...
This fixes the inconsistent hash types and removes all references to
"long", making for better portability.
2022-05-12 18:52:36 +09:00
Bill Currie
978d0306c0
[hash] Rename the publicly visible hashlink_t to hashctx_t
...
I think my biggest problem with the hashlink freelist parameter was how
much implementation it exposed in just the name.
2022-05-12 18:02:01 +09:00
Bill Currie
8bd626a3e4
[hash] Add a couple of data-oriented functions
...
Hash_Select returns a list of elements that match a given criterion
(select callback returning non-0).
Hash_ForEach simply calls a function for every element.
2022-04-25 00:18:22 +09:00
Bill Currie
518befdaed
[util] FIx an "only" in a comment
2021-01-05 17:40:07 +09:00
Bill Currie
4cef9792f4
[util] Make hash-tables semi-thread-safe
...
They take a pointer to a free-list used for hashlinks so the hashlink
pools can be per-thread. However, hash tables that are not updated are
always thread-safe, so this affects only updates. progs_t has been set
up such that it is easy for multiple progs within one thread can share
hashlinks.
2020-03-25 15:43:16 +09:00
Bill Currie
a30433fa9e
Make header protection consistent
...
And delete a couple of useless files.
2020-02-24 12:21:20 +09:00
Bill Currie
9248e8cf01
Update for doxygen 1.8.16
2020-02-11 15:22:42 +09:00
Bill Currie
34bcf7faab
Do a pure/const/noreturn/format attribute pass.
...
I always wanted these, but as gcc now provides warnings for functions that
could do with such attributes, finding all the functions is much easier.
2018-10-09 12:42:21 +09:00
Bill Currie
ec42bde527
Make hash tables more const correct.
...
And clean up the resulting mess :/
2012-10-27 11:44:31 +09:00
Bill Currie
23a38738fc
Massive whitespace cleanup.
...
Lots of trailing whitespace and otherwise blank lines.
2012-05-22 08:23:22 +09:00
Bill Currie
bc1b483525
Nuke the rcsid stuff.
...
It's pretty useless in git.
2012-04-22 10:56:32 +09:00
Bill Currie
2b539ee4ae
Add include for stdlib.h
...
This is needed for size_t when hash.h is the first file included.
2011-01-10 12:25:30 +09:00
Bill Currie
ac02c36aaf
interim linux compile fixes for the in64 fixes (hah)
2007-04-04 08:27:49 +00:00
Bill Currie
ff132bb536
64bit windows patch from phrosty
2007-04-04 07:48:14 +00:00
Bill Currie
6fbddc3d43
so that's the right way to do groups and subgroups...
2006-12-05 11:40:00 +00:00
Bill Currie
42f1334b87
I've discovered \par :)
2006-12-04 13:08:52 +00:00
Bill Currie
f37cfefc5a
fix the doxygen comments to produce proper docs
2006-12-02 23:02:34 +00:00
Bill Currie
8770df39e5
start documenting things (progs building still borked)
...
This is an imperfect revision of history.
2004-11-08 23:27:00 +00:00
Bill Currie
9a5cce7c14
hash.h: update the description of FindList quakefs.c: didn't need va there
...
This is an imperfect revision of history.
2004-11-02 07:39:00 +00:00
Bill Currie
893d3ec290
hash.[ch]:
...
add Hash_NumElements to get the number of elements in the hash table
qfplist.[ch]:
add PL_A_NumObjects and PL_D_NumKeys, to get the number of objects or
number of keys in the array or dictionary, respectively
2004-02-07 07:47:23 +00:00
Bill Currie
ef4ca0c798
some doxygen tweaks
2003-08-31 05:24:24 +00:00
Bill Currie
0985c90ce9
hash.h:
...
write some docs on mixing (eg) Hash_Add and Hash_DelElement
sv_user.c:
fix a warning
2003-04-28 16:04:22 +00:00
Bill Currie
6805d479f3
improve Hash_Free's docs
2003-02-21 02:37:44 +00:00
Bill Currie
fd5695eb03
hash.[ch]:
...
add Hash_Free to ease freeing of hash table entries.
quakefs.c:
beginnings of proper variable subtitution in qfs. not yet working but
it compiles.
2003-01-27 18:16:15 +00:00
Bill Currie
b345f510fa
provide Hash_Buffer so buffers can be hashed
2002-10-20 03:30:22 +00:00
Bill Currie
9134e05aec
return lists of multiple matching elements
2002-05-30 21:56:57 +00:00
Bill Currie
e4fd746f71
this adds some stats to hash tables and a command to get at them for commands
...
and aliases
2001-11-10 01:13:29 +00:00
Bill Currie
40d0490b7c
add Hash_GetList to get a list of elements in the hash table (unsorted)
2001-10-02 23:17:25 +00:00
Bill Currie
9ee3450265
extend the hash api to more easily support general cases
2001-08-16 02:51:53 +00:00
Bill Currie
6cda415f06
slight api change: Hash_Del now returns a pointer to the element deleted, or
...
null if the element was not found, rather than 0 and -1 respectively.
2001-07-06 17:43:47 +00:00
Bill Currie
3a94567913
Make Hash_FlushTable loop safe and correct the copyright notices
2001-06-19 02:01:18 +00:00
Bill Currie
f4969d5d67
add some docs for the hash table api and move the include of stdlib.h to
...
hash.c (no longer needed in hash.h).
2001-06-11 19:37:25 +00:00
Bill Currie
75fbb80b96
make the hash table types opaque
2001-06-11 19:17:40 +00:00
Bill Currie
e339e82c01
hash.h is now const correct as is a lot of qfcc
2001-06-04 04:52:14 +00:00
Bill Currie
581d6bc721
ZERO_LENGTH_ARRAY causes problems for external progs, so just go to 1
2001-04-01 02:09:48 +00:00
Bill Currie
f78b973978
move the api headers into include/QF and clean up (most of) the resulting mess.
...
target specific files that I don't build won't compile yet. just put QF/
infront of the offending headers.
Also move ver_check into libqfutils
2001-03-27 20:33:07 +00:00