You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.2 KiB
44 lines
1.2 KiB
15 years ago
|
string_pool API
|
||
|
===============
|
||
|
|
||
|
The string_pool API provides facilities for replacing strings
|
||
|
with integer keys that can be more easily compared and stored.
|
||
|
The facilities are designed so that one could teach Git without
|
||
|
too much trouble to store the information needed for these keys to
|
||
|
remain valid over multiple executions.
|
||
|
|
||
|
Functions
|
||
|
---------
|
||
|
|
||
|
pool_intern::
|
||
|
Include a string in the string pool and get its key.
|
||
|
If that string is already in the pool, retrieves its
|
||
|
existing key.
|
||
|
|
||
|
pool_fetch::
|
||
|
Retrieve the string associated to a given key.
|
||
|
|
||
|
pool_tok_r::
|
||
|
Extract the key of the next token from a string.
|
||
|
Interface mimics strtok_r.
|
||
|
|
||
|
pool_print_seq::
|
||
|
Print a sequence of strings named by key to a file, using the
|
||
|
specified delimiter to separate them.
|
||
|
|
||
|
If NULL (key ~0) appears in the sequence, the sequence ends
|
||
|
early.
|
||
|
|
||
|
pool_tok_seq::
|
||
|
Split a string into tokens, storing the keys of segments
|
||
|
into a caller-provided array.
|
||
|
|
||
|
Unless sz is 0, the array will always be ~0-terminated.
|
||
|
If there is not enough room for all the tokens, the
|
||
|
array holds as many tokens as fit in the entries before
|
||
|
the terminating ~0. Return value is the index after the
|
||
|
last token, or sz if the tokens did not fit.
|
||
|
|
||
|
pool_reset::
|
||
|
Deallocate storage for the string pool.
|