mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-30 05:56:12 +00:00
add new apr functions/macros needed by unimrcp update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15542 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
8e40f02891
commit
65bfe506e2
@ -1 +1 @@
|
|||||||
Mon Jun 8 11:30:01 EDT 2009
|
Thu Nov 19 09:24:37 EST 2009
|
||||||
|
@ -174,6 +174,12 @@ APR_DECLARE(void) apr_hash_this(apr_hash_index_t *hi, const void **key,
|
|||||||
*/
|
*/
|
||||||
APR_DECLARE(unsigned int) apr_hash_count(apr_hash_t *ht);
|
APR_DECLARE(unsigned int) apr_hash_count(apr_hash_t *ht);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clear any key/value pairs in the hash table.
|
||||||
|
* @param ht The hash table
|
||||||
|
*/
|
||||||
|
APR_DECLARE(void) apr_hash_clear(apr_hash_t *ht);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Merge two hash tables into one new hash table. The values of the overlay
|
* Merge two hash tables into one new hash table. The values of the overlay
|
||||||
* hash override the values of the base if both have the same key. Both
|
* hash override the values of the base if both have the same key. Both
|
||||||
|
@ -120,6 +120,25 @@ APR_DECLARE(apr_array_header_t *) apr_array_make(apr_pool_t *p,
|
|||||||
*/
|
*/
|
||||||
APR_DECLARE(void *) apr_array_push(apr_array_header_t *arr);
|
APR_DECLARE(void *) apr_array_push(apr_array_header_t *arr);
|
||||||
|
|
||||||
|
/** A helper macro for accessing a member of an APR array.
|
||||||
|
*
|
||||||
|
* @param ary the array
|
||||||
|
* @param i the index into the array to return
|
||||||
|
* @param type the type of the objects stored in the array
|
||||||
|
*
|
||||||
|
* @return the item at index i
|
||||||
|
*/
|
||||||
|
#define APR_ARRAY_IDX(ary,i,type) (((type *)(ary)->elts)[i])
|
||||||
|
|
||||||
|
/** A helper macro for pushing elements into an APR array.
|
||||||
|
*
|
||||||
|
* @param ary the array
|
||||||
|
* @param type the type of the objects stored in the array
|
||||||
|
*
|
||||||
|
* @return the location where the new object should be placed
|
||||||
|
*/
|
||||||
|
#define APR_ARRAY_PUSH(ary,type) (*((type *)apr_array_push(ary)))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove an element from an array (as a first-in, last-out stack)
|
* Remove an element from an array (as a first-in, last-out stack)
|
||||||
* @param arr The array to remove an element from.
|
* @param arr The array to remove an element from.
|
||||||
@ -128,6 +147,14 @@ APR_DECLARE(void *) apr_array_push(apr_array_header_t *arr);
|
|||||||
*/
|
*/
|
||||||
APR_DECLARE(void *) apr_array_pop(apr_array_header_t *arr);
|
APR_DECLARE(void *) apr_array_pop(apr_array_header_t *arr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove all elements from an array.
|
||||||
|
* @param arr The array to remove all elements from.
|
||||||
|
* @remark As the underlying storage is allocated from a pool, no
|
||||||
|
* memory is freed by this operation, but is available for reuse.
|
||||||
|
*/
|
||||||
|
APR_DECLARE(void) apr_array_clear(apr_array_header_t *arr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Concatenate two arrays together
|
* Concatenate two arrays together
|
||||||
* @param dst The destination array, and the one to go first in the combined
|
* @param dst The destination array, and the one to go first in the combined
|
||||||
|
@ -367,6 +367,13 @@ APR_DECLARE(unsigned int) apr_hash_count(apr_hash_t *ht)
|
|||||||
return ht->count;
|
return ht->count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
APR_DECLARE(void) apr_hash_clear(apr_hash_t *ht)
|
||||||
|
{
|
||||||
|
apr_hash_index_t *hi;
|
||||||
|
for (hi = apr_hash_first(NULL, ht); hi; hi = apr_hash_next(hi))
|
||||||
|
apr_hash_set(ht, hi->this->key, hi->this->klen, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
APR_DECLARE(apr_hash_t*) apr_hash_overlay(apr_pool_t *p,
|
APR_DECLARE(apr_hash_t*) apr_hash_overlay(apr_pool_t *p,
|
||||||
const apr_hash_t *overlay,
|
const apr_hash_t *overlay,
|
||||||
const apr_hash_t *base)
|
const apr_hash_t *base)
|
||||||
|
@ -90,6 +90,11 @@ APR_DECLARE(apr_array_header_t *) apr_array_make(apr_pool_t *p,
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
APR_DECLARE(void) apr_array_clear(apr_array_header_t *arr)
|
||||||
|
{
|
||||||
|
arr->nelts = 0;
|
||||||
|
}
|
||||||
|
|
||||||
APR_DECLARE(void *) apr_array_pop(apr_array_header_t *arr)
|
APR_DECLARE(void *) apr_array_pop(apr_array_header_t *arr)
|
||||||
{
|
{
|
||||||
if (apr_is_empty_array(arr)) {
|
if (apr_is_empty_array(arr)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user