Subversion
|
Dumping and reading hash tables to/from files. More...
#include <apr.h>
#include <apr_pools.h>
#include <apr_hash.h>
#include <apr_tables.h>
#include <apr_file_io.h>
#include "svn_types.h"
#include "svn_io.h"
Go to the source code of this file.
Defines | |
#define | SVN_KEYLINE_MAXLEN 100 |
The longest the "K <number>" line can be in one of our hashdump files. | |
#define | SVN_HASH_TERMINATOR "END" |
The conventional terminator for hash dumps. | |
Typedefs | |
typedef svn_error_t *(* | svn_hash_diff_func_t )(const void *key, apr_ssize_t klen, enum svn_hash_diff_key_status status, void *baton) |
Function type for expressing a key's status between two hash tables. | |
Enumerations | |
enum | svn_hash_diff_key_status { svn_hash_diff_key_both, svn_hash_diff_key_a, svn_hash_diff_key_b } |
Hash key status indicator for svn_hash_diff_func_t. More... | |
Functions | |
svn_error_t * | svn_hash_read2 (apr_hash_t *hash, svn_stream_t *stream, const char *terminator, apr_pool_t *pool) |
Read a hash table from stream, storing the resultants names and values in hash. | |
svn_error_t * | svn_hash_write2 (apr_hash_t *hash, svn_stream_t *stream, const char *terminator, apr_pool_t *pool) |
Dump hash to stream. | |
svn_error_t * | svn_hash_read_incremental (apr_hash_t *hash, svn_stream_t *stream, const char *terminator, apr_pool_t *pool) |
Similar to svn_hash_read2(), but allows stream to contain deletion lines which remove entries from hash as well as adding to it. | |
svn_error_t * | svn_hash_write_incremental (apr_hash_t *hash, apr_hash_t *oldhash, svn_stream_t *stream, const char *terminator, apr_pool_t *pool) |
Similar to svn_hash_write2(), but only writes out entries for keys which differ between hash and oldhash, and also writes out deletion lines for keys which are present in oldhash but not in hash. | |
svn_error_t * | svn_hash_read (apr_hash_t *hash, apr_file_t *srcfile, apr_pool_t *pool) |
This function behaves like svn_hash_read2(), but it only works on an apr_file_t input, empty files are accepted, and the hash is expected to be terminated with a line containing "END" or "PROPS-END". | |
svn_error_t * | svn_hash_write (apr_hash_t *hash, apr_file_t *destfile, apr_pool_t *pool) |
This function behaves like svn_hash_write2(), but it only works on an apr_file_t output, and the terminator is always "END". | |
svn_error_t * | svn_hash_diff (apr_hash_t *hash_a, apr_hash_t *hash_b, svn_hash_diff_func_t diff_func, void *diff_func_baton, apr_pool_t *pool) |
Take the diff of two hashtables. | |
svn_error_t * | svn_hash_keys (apr_array_header_t **array, apr_hash_t *hash, apr_pool_t *pool) |
Return the keys to hash in *array. | |
svn_error_t * | svn_hash_from_cstring_keys (apr_hash_t **hash, const apr_array_header_t *keys, apr_pool_t *pool) |
Set *hash to a new hash whose keys come from the items in keys (an array of const char * items), and whose values are match their corresponding key. | |
svn_error_t * | svn_hash__clear (apr_hash_t *hash, apr_pool_t *pool) |
Clear any key/value pairs in the hash table. | |
const char * | svn_hash__get_cstring (apr_hash_t *hash, const char *key, const char *default_value) |
Find the value of a key in hash, return the value. | |
svn_boolean_t | svn_hash__get_bool (apr_hash_t *hash, const char *key, svn_boolean_t default_value) |
Like svn_hash_get_cstring(), but for boolean values. |
Dumping and reading hash tables to/from files.
Definition in file svn_hash.h.
#define SVN_KEYLINE_MAXLEN 100 |
The longest the "K <number>" line can be in one of our hashdump files.
Definition at line 47 of file svn_hash.h.