mirror of
https://github.com/git/git.git
synced 2024-11-16 14:04:52 +01:00
44 lines
1.2 KiB
Text
44 lines
1.2 KiB
Text
|
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.
|