#include "apr.h"
#include "apr_hash.h"
#include "apr_pools.h"
#include <stdio.h>
int main( void )
{
apr_pool_t *pool;
apr_hash_t *myhash;
apr_hash_index_t *index;
long int *mynum;
apr_initialize();
apr_pool_create( &pool, NULL );
myhash = apr_hash_make( pool );
mynum = apr_palloc( pool, sizeof(long int) );
*mynum = 10;
apr_hash_set( myhash, mynum, sizeof(long int), "ten" );
mynum = apr_palloc( pool, sizeof(long int) );
*mynum = 23;
apr_hash_set( myhash, mynum, sizeof(long int), "twenty-three" );
mynum = apr_palloc( pool, sizeof(long int) );
*mynum = 13;
apr_hash_set( myhash, mynum, sizeof(long int), "thirteen" );
for (
index = apr_hash_first( pool, myhash );
index;
index = apr_hash_next( index )
)
{
long int *key;
apr_ssize_t len;
char *val;
apr_hash_this( index, &key, &len, &val );
if ( len != sizeof(*key) ) {
printf( "Returned key length was %d\n", (int)len );
continue;
}
printf(
" retrieved number %ld = \"%s\"\n",
(long int)*key,
val
);
}
return( 0 );
}
Outputs: retrieved number 23 = "twenty-three"
retrieved number 10 = "ten"
retrieved number 13 = "thirteen"
|