Skip to content
Snippets Groups Projects
Select Git revision
  • e3a26eab8a92709388debb9cb2763c33de0e7ae3
  • master default protected
  • 9.0
  • 8.0
  • nt-tools
  • 7.8
  • 7.6
  • 7.4
  • 7.2
  • 7.0
  • 0.6
  • rosuav/latex-markdown-renderer
  • rxnpatch/rxnpatch
  • marcus/gobject-introspection
  • rxnpatch/8.0
  • rosuav/pre-listening-ports
  • rosuav/async-annotations
  • rosuav/pgsql-ssl
  • rxnpatch/rxnpatch-broken/2023-10-06T094250
  • grubba/fdlib
  • grubba/wip/sakura/8.0
  • v8.0.2020
  • v8.0.2018
  • v8.0.2016
  • v8.0.2014
  • v8.0.2012
  • v8.0.2008
  • v8.0.2006
  • v8.0.2004
  • v8.0.2002
  • v8.0.2000
  • v8.0.1998
  • v8.0.1996
  • v8.0.1994
  • v8.0.1992
  • v8.0.1990
  • v8.0.1988
  • v8.0.1986
  • rxnpatch/clusters/8.0/2025-04-29T124414
  • rxnpatch/2025-04-29T124414
  • v8.0.1984
41 results

hashtable.h

Blame
    • Fredrik Hübinette (Hubbe)'s avatar
      cb22562e
      committing · cb22562e
      Fredrik Hübinette (Hubbe) authored
      Rev: README:1.1
      Rev: bin/create_testsuite:1.3
      Rev: bin/hilfe.lpc:1.2
      Rev: bin/rsif:1.2
      Rev: bin/uhttpd.lpc:1.2
      Rev: doc/simulated/open:1.1
      Rev: lib/master.lpc:1.2
      Rev: lib/simulate.lpc:1.4
      Rev: lib/testsuite.lpc:1.3
      Rev: src/BUGS:1.3
      Rev: src/Makefile.in:1.6
      Rev: src/Makefile.in.src:1.2
      Rev: src/README:1.2
      Rev: src/add_efun.c:1.2
      Rev: src/add_efun.h:1.2
      Rev: src/array.c:1.4
      Rev: src/array.h:1.2
      Rev: src/backend.c:1.3
      Rev: src/backend.h:1.2
      Rev: src/builtin_efuns.c:1.2
      Rev: src/builtin_efuns.h:1.2
      Rev: src/call_out.c:1.5
      Rev: src/call_out.h:1.2
      Rev: src/callback.c:1.2
      Rev: src/callback.h:1.2
      Rev: src/config.h:1.6
      Rev: src/configure.in:1.9
      Rev: src/debug.c:1.4
      Rev: src/debug.h:1.4
      Rev: src/docode.c:1.4
      Rev: src/docode.h:1.2
      Rev: src/dynamic_buffer.c:1.3
      Rev: src/dynamic_buffer.h:1.2
      Rev: src/efun.h:1.2
      Rev: src/error.c:1.2
      Rev: src/error.h:1.2
      Rev: src/fd_control.c:1.2
      Rev: src/fd_control.h:1.2
      Rev: src/fsort.c:1.2
      Rev: src/fsort.h:1.2
      Rev: src/global.h:1.2
      Rev: src/hashtable.c:1.2
      Rev: src/hashtable.h:1.2
      Rev: src/interpret.c:1.5
      Rev: src/interpret.h:1.2
      Rev: src/language.y:1.3
      Rev: src/las.c:1.3
      Rev: src/las.h:1.3
      Rev: src/lex.c:1.3
      Rev: src/lex.h:1.2
      Rev: src/list.c:1.3
      Rev: src/list.h:1.2
      Rev: src/lpc_signal.c:1.1
      Rev: src/lpc_signal.h:1.1
      Rev: src/lpc_types.c:1.3
      Rev: src/lpc_types.h:1.2
      Rev: src/machine.h.in:1.3
      Rev: src/macros.h:1.4
      Rev: src/main.c:1.8
      Rev: src/main.h:1.2
      Rev: src/mapping.c:1.4
      Rev: src/mapping.h:1.2
      Rev: src/memory.c:1.3
      Rev: src/memory.h:1.2
      Rev: src/module.c:1.2
      Rev: src/module.h:1.2
      Rev: src/modules/files/Makefile.in:1.3
      Rev: src/modules/files/Makefile.in.src:1.2
      Rev: src/modules/files/configure.in:1.5
      Rev: src/modules/files/datagram.c:1.2
      Rev: src/modules/files/efuns.c:1.4
      Rev: src/modules/files/file.c:1.5
      Rev: src/modules/files/file.h:1.3
      Rev: src/modules/files/file_machine.h.in:1.3
      Rev: src/modules/files/socket.c:1.6
      Rev: src/modules/math/Makefile.in:1.4
      Rev: src/modules/math/Makefile.in.src:1.3
      Rev: src/modules/math/math.c:1.2
      Rev: src/modules/regexp/Makefile.in:1.3
      Rev: src/modules/regexp/Makefile.in.src:1.2
      Rev: src/modules/regexp/glue.c:1.2
      Rev: src/modules/regexp/regexp.h:1.2
      Rev: src/modules/sprintf/Makefile.in:1.3
      Rev: src/modules/sprintf/Makefile.in.src:1.2
      Rev: src/modules/sprintf/sprintf.c:1.2
      Rev: src/object.c:1.3
      Rev: src/object.h:1.2
      Rev: src/opcodes.c:1.6
      Rev: src/opcodes.h:1.2
      Rev: src/operators.c:1.3
      Rev: src/operators.h:1.2
      Rev: src/otable.h:1.2
      Rev: src/port.c:1.9
      Rev: src/port.h:1.4
      Rev: src/program.h:1.2
      Rev: src/rusage.c:1.3
      Rev: src/rusage.h:1.2
      Rev: src/stralloc.c:1.3
      Rev: src/stralloc.h:1.3
      Rev: src/stuff.c:1.2
      Rev: src/stuff.h:1.2
      Rev: src/svalue.c:1.4
      Rev: src/svalue.h:1.2
      Rev: src/todo:1.2
      Rev: src/types.h:1.6
      Rev: src/ualarm.c:1.2
      cb22562e
      History
      committing
      Fredrik Hübinette (Hubbe) authored
      Rev: README:1.1
      Rev: bin/create_testsuite:1.3
      Rev: bin/hilfe.lpc:1.2
      Rev: bin/rsif:1.2
      Rev: bin/uhttpd.lpc:1.2
      Rev: doc/simulated/open:1.1
      Rev: lib/master.lpc:1.2
      Rev: lib/simulate.lpc:1.4
      Rev: lib/testsuite.lpc:1.3
      Rev: src/BUGS:1.3
      Rev: src/Makefile.in:1.6
      Rev: src/Makefile.in.src:1.2
      Rev: src/README:1.2
      Rev: src/add_efun.c:1.2
      Rev: src/add_efun.h:1.2
      Rev: src/array.c:1.4
      Rev: src/array.h:1.2
      Rev: src/backend.c:1.3
      Rev: src/backend.h:1.2
      Rev: src/builtin_efuns.c:1.2
      Rev: src/builtin_efuns.h:1.2
      Rev: src/call_out.c:1.5
      Rev: src/call_out.h:1.2
      Rev: src/callback.c:1.2
      Rev: src/callback.h:1.2
      Rev: src/config.h:1.6
      Rev: src/configure.in:1.9
      Rev: src/debug.c:1.4
      Rev: src/debug.h:1.4
      Rev: src/docode.c:1.4
      Rev: src/docode.h:1.2
      Rev: src/dynamic_buffer.c:1.3
      Rev: src/dynamic_buffer.h:1.2
      Rev: src/efun.h:1.2
      Rev: src/error.c:1.2
      Rev: src/error.h:1.2
      Rev: src/fd_control.c:1.2
      Rev: src/fd_control.h:1.2
      Rev: src/fsort.c:1.2
      Rev: src/fsort.h:1.2
      Rev: src/global.h:1.2
      Rev: src/hashtable.c:1.2
      Rev: src/hashtable.h:1.2
      Rev: src/interpret.c:1.5
      Rev: src/interpret.h:1.2
      Rev: src/language.y:1.3
      Rev: src/las.c:1.3
      Rev: src/las.h:1.3
      Rev: src/lex.c:1.3
      Rev: src/lex.h:1.2
      Rev: src/list.c:1.3
      Rev: src/list.h:1.2
      Rev: src/lpc_signal.c:1.1
      Rev: src/lpc_signal.h:1.1
      Rev: src/lpc_types.c:1.3
      Rev: src/lpc_types.h:1.2
      Rev: src/machine.h.in:1.3
      Rev: src/macros.h:1.4
      Rev: src/main.c:1.8
      Rev: src/main.h:1.2
      Rev: src/mapping.c:1.4
      Rev: src/mapping.h:1.2
      Rev: src/memory.c:1.3
      Rev: src/memory.h:1.2
      Rev: src/module.c:1.2
      Rev: src/module.h:1.2
      Rev: src/modules/files/Makefile.in:1.3
      Rev: src/modules/files/Makefile.in.src:1.2
      Rev: src/modules/files/configure.in:1.5
      Rev: src/modules/files/datagram.c:1.2
      Rev: src/modules/files/efuns.c:1.4
      Rev: src/modules/files/file.c:1.5
      Rev: src/modules/files/file.h:1.3
      Rev: src/modules/files/file_machine.h.in:1.3
      Rev: src/modules/files/socket.c:1.6
      Rev: src/modules/math/Makefile.in:1.4
      Rev: src/modules/math/Makefile.in.src:1.3
      Rev: src/modules/math/math.c:1.2
      Rev: src/modules/regexp/Makefile.in:1.3
      Rev: src/modules/regexp/Makefile.in.src:1.2
      Rev: src/modules/regexp/glue.c:1.2
      Rev: src/modules/regexp/regexp.h:1.2
      Rev: src/modules/sprintf/Makefile.in:1.3
      Rev: src/modules/sprintf/Makefile.in.src:1.2
      Rev: src/modules/sprintf/sprintf.c:1.2
      Rev: src/object.c:1.3
      Rev: src/object.h:1.2
      Rev: src/opcodes.c:1.6
      Rev: src/opcodes.h:1.2
      Rev: src/operators.c:1.3
      Rev: src/operators.h:1.2
      Rev: src/otable.h:1.2
      Rev: src/port.c:1.9
      Rev: src/port.h:1.4
      Rev: src/program.h:1.2
      Rev: src/rusage.c:1.3
      Rev: src/rusage.h:1.2
      Rev: src/stralloc.c:1.3
      Rev: src/stralloc.h:1.3
      Rev: src/stuff.c:1.2
      Rev: src/stuff.h:1.2
      Rev: src/svalue.c:1.4
      Rev: src/svalue.h:1.2
      Rev: src/todo:1.2
      Rev: src/types.h:1.6
      Rev: src/ualarm.c:1.2
    hashtable.h 1.01 KiB
    /*\
    ||| This file a part of uLPC, and is copyright by Fredrik Hubinette
    ||| uLPC is distributed as GPL (General Public License)
    ||| See the files COPYING and DISCLAIMER for more information.
    \*/
    #ifndef HASHTABLE_H
    #define HASHTABLE_H
    
    #include "types.h"
    
    #define AVERAGE_HASH_LENGTH 16
    #define NEW_HASHTABLE_SIZE 4
    
    struct hash_entry
    {
      struct hash_entry *next;
      struct lpc_string *s;
    };
    
    struct hash_table
    {
      INT32 mask;
      INT32 entries;
      struct hash_entry *htable[1];
    };
    
    /* Prototypes begin here */
    struct hash_entry *hash_lookup(struct hash_table *h, struct lpc_string *s);
    struct hash_table *create_hash_table();
    struct hash_table *hash_rehash(struct hash_table *h,int size);
    struct hash_table *hash_insert(struct hash_table *h, struct hash_entry *s);
    struct hash_table *hash_unlink(struct hash_table *h, struct hash_entry *s);
    void map_hashtable(struct hash_table *h, void (*fun)(struct hash_entry *));
    void free_hashtable(struct hash_table *h,
    		    void (*free_entry)(struct hash_entry *));
    /* Prototypes end here */
    
    #endif