]> sjero.net Git - wget/blobdiff - src/hash.h
[svn] Simplify iteration over hash table entries.
[wget] / src / hash.h
index 31c611ee56b235eab5adf4f61379765f9df69bbf..61977df101bf881c476b4c1a447bbe14e82f6954 100644 (file)
@@ -14,8 +14,8 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
-along with Wget; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+along with Wget; if not, write to the Free Software Foundation, Inc.,
+51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 
 In addition, as a special exception, the Free Software Foundation
 gives permission to link the code of its release of Wget with the
@@ -45,8 +45,16 @@ void hash_table_put (struct hash_table *, const void *, void *);
 int hash_table_remove (struct hash_table *, const void *);
 void hash_table_clear (struct hash_table *);
 
-void hash_table_map (struct hash_table *,
-                    int (*) (void *, void *, void *), void *);
+void hash_table_for_each (struct hash_table *,
+                         int (*) (void *, void *, void *), void *);
+
+typedef struct {
+  void *key, *value;           /* public members */
+  void *pos, *end;             /* private members */
+} hash_table_iterator;
+void hash_table_iterate (struct hash_table *, hash_table_iterator *);
+int hash_table_iter_next (hash_table_iterator *);
+
 int hash_table_count (const struct hash_table *);
 
 struct hash_table *make_string_hash_table (int);