Patch from Scott McKellar:
authormiker <miker@9efc2488-bf62-4759-914b-345cdb29e865>
Fri, 11 Apr 2008 15:13:57 +0000 (15:13 +0000)
committermiker <miker@9efc2488-bf62-4759-914b-345cdb29e865>
Fri, 11 Apr 2008 15:13:57 +0000 (15:13 +0000)
This patch adds a new function so that code outside of osrf_hash.c
doesn't have to directly access the "current" member of an
osrfHashIterator.  This bit of encapsulation will make it easier
to refactor the osrfHash code.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1307 9efc2488-bf62-4759-914b-345cdb29e865

include/opensrf/osrf_hash.h
src/libopensrf/osrf_hash.c

index b7bc55b..5cc3bb5 100644 (file)
@@ -84,6 +84,11 @@ int osrfHashIteratorHasNext( osrfHashIterator* itr );
 void* osrfHashIteratorNext( osrfHashIterator* itr );
 
 /**
+  Returns a pointer to the key of the current hash item
+ */
+const char* osrfHashIteratorKey( const osrfHashIterator* itr );
+
+/**
   Deallocates the given list
   */
 void osrfHashIteratorFree( osrfHashIterator* itr );
index 972ccfb..e99dda3 100644 (file)
@@ -263,6 +263,11 @@ void osrfHashIteratorFree( osrfHashIterator* itr ) {
        free(itr);
 }
 
+const char* osrfHashIteratorKey( const osrfHashIterator* itr ) {
+    if( ! itr ) return NULL;
+    return itr->current;
+}
+
 void osrfHashIteratorReset( osrfHashIterator* itr ) {
        if(!itr) return;
     if(itr->current) itr->current[0] = '\0';