Skip to content
Snippets Groups Projects
Select Git revision
  • 0683be9c77db4c4ad67a16c06cf7e4561f33bd67
  • master default protected
  • 9.0
  • 8.0
  • 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
  • nt-tools
  • rosuav/async-annotations
  • rosuav/pgsql-ssl
  • rxnpatch/rxnpatch-broken/2023-10-06T094250
  • grubba/fdlib
  • grubba/wip/sakura/8.0
  • 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
  • v8.0.1982
  • v8.0.1980
  • v8.0.1978
  • v8.0.1976
  • v8.0.1974
  • v8.0.1972
  • v8.0.1970
  • v8.0.1968
  • v8.0.1966
41 results

hashtable.c

Blame
    • Fredrik Hübinette (Hubbe)'s avatar
      06983fde
      Pike · 06983fde
      Fredrik Hübinette (Hubbe) authored
      Rev: .cvsignore:1.1.1.1
      Rev: README:1.1.1.1
      Rev: bin/export.pike:1.1.1.1
      Rev: bin/fixdepends.sh:1.1.1.1
      Rev: bin/hilfe:1.1.1.1
      Rev: bin/htmlify_docs.pike:1.1.1.1
      Rev: bin/httpd.pike:1.1.1.1
      Rev: bin/metatest:1.1.1.1
      Rev: bin/mkpeep.pike:1.1.1.1
      Rev: bin/rsif:1.1.1.1
      Rev: doc/README:1.1.1.1
      Rev: doc/builtin/_verify_internals:1.1.1.1
      Rev: doc/builtin/add_constant:1.1.1.1
      Rev: doc/builtin/aggregage_multiset:1.1.1.1
      Rev: doc/builtin/aggregate:1.1.1.1
      Rev: doc/builtin/aggregate_mapping:1.1.1.1
      Rev: doc/builtin/alarm:1.1.1.1
      Rev: doc/builtin/all_constants:1.1.1.1
      Rev: doc/builtin/allocate:1.1.1.1
      Rev: doc/builtin/arrayp:1.1.1.1
      Rev: doc/builtin/backtrace:1.1.1.1
      Rev: doc/builtin/call_function:1.1.1.1
      Rev: doc/builtin/clone:1.1.1.1
      Rev: doc/builtin/column:1.1.1.1
      Rev: doc/builtin/combine_path:1.1.1.1
      Rev: doc/builtin/compile_file:1.1.1.1
      Rev: doc/builtin/compile_string:1.1.1.1
      Rev: doc/builtin/copy_value:1.1.1.1
      Rev: doc/builtin/crypt:1.1.1.1
      Rev: doc/builtin/ctime:1.1.1.1
      Rev: doc/builtin/destruct:1.1.1.1
      Rev: doc/builtin/equal:1.1.1.1
      Rev: doc/builtin/exit:1.1.1.1
      Rev: doc/builtin/floatp:1.1.1.1
      Rev: doc/builtin/function_name:1.1.1.1
      Rev: doc/builtin/function_object:1.1.1.1
      Rev: doc/builtin/functionp:1.1.1.1
      Rev: doc/builtin/gc:1.1.1.1
      Rev: doc/builtin/getpid:1.1.1.1
      Rev: doc/builtin/glob:1.1.1.1
      Rev: doc/builtin/hash:1.1.1.1
      Rev: doc/builtin/indices:1.1.1.1
      Rev: doc/builtin/intp:1.1.1.1
      Rev: doc/builtin/kill:1.1.1.1
      Rev: doc/builtin/localtime:1.1.1.1
      Rev: doc/builtin/lower_case:1.1.1.1
      Rev: doc/builtin/m_delete:1.1.1.1
      Rev: doc/builtin/mappingp:1.1.1.1
      Rev: doc/builtin/mkmapping:1.1.1.1
      Rev: doc/builtin/multisetp:1.1.1.1
      Rev: doc/builtin/next_object:1.1.1.1
      Rev: doc/builtin/object_program:1.1.1.1
      Rev: doc/builtin/objectp:1.1.1.1
      Rev: doc/builtin/programp:1.1.1.1
      Rev: doc/builtin/query_host_name:1.1.1.1
      Rev: doc/builtin/query_num_arg:1.1.1.1
      Rev: doc/builtin/random:1.1.1.1
      Rev: doc/builtin/random_seed:1.1.1.1
      Rev: doc/builtin/replace:1.1.1.1
      Rev: doc/builtin/reverse:1.1.1.1
      Rev: doc/builtin/rows:1.1.1.1
      Rev: doc/builtin/rusage:1.1.1.1
      Rev: doc/builtin/search:1.1.1.1
      Rev: doc/builtin/signal:1.1.1.1
      Rev: doc/builtin/signame:1.1.1.1
      Rev: doc/builtin/signum:1.1.1.1
      Rev: doc/builtin/sizeof:1.1.1.1
      Rev: doc/builtin/sleep:1.1.1.1
      Rev: doc/builtin/sort:1.1.1.1
      Rev: doc/builtin/stringp:1.1.1.1
      Rev: doc/builtin/this_object:1.1.1.1
      Rev: doc/builtin/throw:1.1.1.1
      Rev: doc/builtin/time:1.1.1.1
      Rev: doc/builtin/trace:1.1.1.1
      Rev: doc/builtin/ualarm:1.1.1.1
      Rev: doc/builtin/upper_case:1.1.1.1
      Rev: doc/builtin/values:1.1.1.1
      Rev: doc/builtin/zero_type:1.1.1.1
      Rev: doc/index.bmml:1.1.1.1
      Rev: doc/manual/example1:1.1.1.1
      Rev: doc/manual/example2:1.1.1.1
      Rev: doc/manual/example3:1.1.1.1
      Rev: doc/manual/tutorial:1.1.1.1
      Rev: doc/operators/and:1.1.1.1
      Rev: doc/operators/complement:1.1.1.1
      Rev: doc/operators/divide:1.1.1.1
      Rev: doc/operators/index:1.1.1.1
      Rev: doc/operators/is_equal:1.1.1.1
      Rev: doc/operators/is_greater_or_equal:1.1.1.1
      Rev: doc/operators/is_greater_than:1.1.1.1
      Rev: doc/operators/is_lesser_or_equal:1.1.1.1
      Rev: doc/operators/is_lesser_than:1.1.1.1
      Rev: doc/operators/logical_and:1.1.1.1
      Rev: doc/operators/logical_or:1.1.1.1
      Rev: doc/operators/minus:1.1.1.1
      Rev: doc/operators/modulo:1.1.1.1
      Rev: doc/operators/mult:1.1.1.1
      Rev: doc/operators/not:1.1.1.1
      Rev: doc/operators/not_equal:1.1.1.1
      Rev: doc/operators/operators:1.1.1.1
      Rev: doc/operators/or:1.1.1.1
      Rev: doc/operators/plus:1.1.1.1
      Rev: doc/operators/range:1.1.1.1
      Rev: doc/operators/shift_left:1.1.1.1
      Rev: doc/operators/shift_right:1.1.1.1
      Rev: doc/operators/xor:1.1.1.1
      Rev: doc/pike/all.bmml:1.1.1.1
      Rev: doc/pike/cast:1.1.1.1
      Rev: doc/pike/catch:1.1.1.1
      Rev: doc/pike/class:1.1.1.1
      Rev: doc/pike/command_line_options:1.1.1.1
      Rev: doc/pike/control_structures/break:1.1.1.1
      Rev: doc/pike/control_structures/catch:1.1.1.1
      Rev: doc/pike/control_structures/continue:1.1.1.1
      Rev: doc/pike/control_structures/do-while:1.1.1.1
      Rev: doc/pike/control_structures/for:1.1.1.1
      Rev: doc/pike/control_structures/foreach:1.1.1.1
      Rev: doc/pike/control_structures/if-else:1.1.1.1
      Rev: doc/pike/control_structures/return:1.1.1.1
      Rev: doc/pike/control_structures/switch:1.1.1.1
      Rev: doc/pike/control_structures/while:1.1.1.1
      Rev: doc/pike/efuns.bmml:1.1.1.1
      Rev: doc/pike/functions:1.1.1.1
      Rev: doc/pike/gauge:1.1.1.1
      Rev: doc/pike/hilfe:1.1.1.1
      Rev: doc/pike/how_to_make_modules:1.1.1.1
      Rev: doc/pike/inherit:1.1.1.1
      Rev: doc/pike/lambda:1.1.1.1
      Rev: doc/pike/modifier:1.1.1.1
      Rev: doc/pike/preprocessor:1.1.1.1
      Rev: doc/pike/reserved.bmml:1.1.1.1
      Rev: doc/pike/sscanf:1.1.1.1
      Rev: doc/pike/typeof:1.1.1.1
      Rev: doc/pike/variables:1.1.1.1
      Rev: doc/simulated/PI:1.1.1.1
      Rev: doc/simulated/add_efun:1.1.1.1
      Rev: doc/simulated/aggregage_list:1.1.1.1
      Rev: doc/simulated/all_efuns:1.1.1.1
      Rev: doc/simulated/capitalize:1.1.1.1
      Rev: doc/simulated/describe_backtrace:1.1.1.1
      Rev: doc/simulated/exec:1.1.1.1
      Rev: doc/simulated/explode:1.1.1.1
      Rev: doc/simulated/file_size:1.1.1.1
      Rev: doc/simulated/filter:1.1.1.1
      Rev: doc/simulated/filter_array:1.1.1.1
      Rev: doc/simulated/get_function:1.1.1.1
      Rev: doc/simulated/getenv:1.1.1.1
      Rev: doc/simulated/implode:1.1.1.1
      Rev: doc/simulated/l_sizeof:1.1.1.1
      Rev: doc/simulated/listp:1.1.1.1
      Rev: doc/simulated/m_indices:1.1.1.1
      Rev: doc/simulated/m_sizeof:1.1.1.1
      Rev: doc/simulated/m_values:1.1.1.1
      Rev: doc/simulated/map:1.1.1.1
      Rev: doc/simulated/map_array:1.1.1.1
      Rev: doc/simulated/master:1.1.1.1
      Rev: doc/simulated/member_array:1.1.1.1
      Rev: doc/simulated/mklist:1.1.1.1
      Rev: doc/simulated/mkmultiset:1.1.1.1
      Rev: doc/simulated/perror:1.1.1.1
      Rev: doc/simulated/popen:1.1.1.1
      Rev: doc/simulated/previous_object:1.1.1.1
      Rev: doc/simulated/putenv:1.1.1.1
      Rev: doc/simulated/read_bytes:1.1.1.1
      Rev: doc/simulated/regexp:1.1.1.1
      Rev: doc/simulated/search_array:1.1.1.1
      Rev: doc/simulated/sort_array:1.1.1.1
      Rev: doc/simulated/spawn:1.1.1.1
      Rev: doc/simulated/strlen:1.1.1.1
      Rev: doc/simulated/strstr:1.1.1.1
      Rev: doc/simulated/sum:1.1.1.1
      Rev: doc/simulated/sum_arrays:1.1.1.1
      Rev: doc/simulated/system:1.1.1.1
      Rev: doc/simulated/this_function:1.1.1.1
      Rev: doc/simulated/version:1.1.1.1
      Rev: doc/simulated/write:1.1.1.1
      Rev: doc/simulated/write_file:1.1.1.1
      Rev: doc/types/array:1.1.1.1
      Rev: doc/types/float:1.1.1.1
      Rev: doc/types/function:1.1.1.1
      Rev: doc/types/int:1.1.1.1
      Rev: doc/types/mapping:1.1.1.1
      Rev: doc/types/mixed:1.1.1.1
      Rev: doc/types/multiset:1.1.1.1
      Rev: doc/types/object:1.1.1.1
      Rev: doc/types/program:1.1.1.1
      Rev: doc/types/string:1.1.1.1
      Rev: lib/include/array.h:1.1.1.1
      Rev: lib/include/array.pre.pike:1.1.1.1
      Rev: lib/include/process.h:1.1.1.1
      Rev: lib/include/process.pre.pike:1.1.1.1
      Rev: lib/include/simulate.h:1.1.1.1
      Rev: lib/include/simulate.pre.pike:1.1.1.1
      Rev: lib/include/stdio.h:1.1.1.1
      Rev: lib/include/stdio.pre.pike:1.1.1.1
      Rev: lib/master.pike:1.1.1.1
      Rev: src/.cvsignore:1.1.1.1
      Rev: src/BUGS:1.1.1.1
      Rev: src/COPYING:1.1.1.1
      Rev: src/COPYRIGHT:1.1.1.1
      Rev: src/ChangeLog:1.1.1.1
      Rev: src/DISCLAIMER:1.1.1.1
      Rev: src/Makefile.src:1.1.1.1
      Rev: src/README:1.1.1.1
      Rev: src/alloca.c:1.1.1.1
      Rev: src/array.c:1.1.1.1
      Rev: src/array.h:1.1.1.1
      Rev: src/backend.c:1.1.1.1
      Rev: src/backend.h:1.1.1.1
      Rev: src/build_modlist_h:1.1.1.1
      Rev: src/builtin_functions.c:1.1.1.1
      Rev: src/builtin_functions.h:1.1.1.1
      Rev: src/callback.c:1.1.1.1
      Rev: src/callback.h:1.1.1.1
      Rev: src/compilation.h:1.1.1.1
      Rev: src/config.cache:1.1.1.1
      Rev: src/config.h:1.1.1.1
      Rev: src/config.log:1.1.1.1
      Rev: src/configure.in:1.1.1.1
      Rev: src/constants.c:1.1.1.1
      Rev: src/constants.h:1.1.1.1
      Rev: src/docode.c:1.1.1.1
      Rev: src/docode.h:1.1.1.1
      Rev: src/dynamic_buffer.c:1.1.1.1
      Rev: src/dynamic_buffer.h:1.1.1.1
      Rev: src/efun.h:1.1.1.1
      Rev: src/error.c:1.1.1.1
      Rev: src/error.h:1.1.1.1
      Rev: src/fd_control.c:1.1.1.1
      Rev: src/fd_control.h:1.1.1.1
      Rev: src/fsort.c:1.1.1.1
      Rev: src/fsort.h:1.1.1.1
      Rev: src/gc.c:1.1.1.1
      Rev: src/gc.h:1.1.1.1
      Rev: src/global.h:1.1.1.1
      Rev: src/hashtable.c:1.1.1.1
      Rev: src/hashtable.h:1.1.1.1
      Rev: src/install-sh:1.1.1.1
      Rev: src/interpret.c:1.1.1.1
      Rev: src/interpret.h:1.1.1.1
      Rev: src/language.y:1.1.1.1
      Rev: src/las.c:1.1.1.1
      Rev: src/las.h:1.1.1.1
      Rev: src/lex.c:1.1.1.1
      Rev: src/lex.h:1.1.1.1
      Rev: src/machine.h.in:1.1.1.1
      Rev: src/macros.h:1.1.1.1
      Rev: src/main.c:1.1.1.1
      Rev: src/main.h:1.1.1.1
      Rev: src/mapping.c:1.1.1.1
      Rev: src/mapping.h:1.1.1.1
      Rev: src/memory.c:1.1.1.1
      Rev: src/memory.h:1.1.1.1
      Rev: src/module.c:1.1.1.1
      Rev: src/module.h:1.1.1.1
      Rev: src/modules/.cvsignore:1.1.1.1
      Rev: src/modules/Makefile.src:1.1.1.1
      Rev: src/modules/call_out/.cvsignore:1.1.1.1
      Rev: src/modules/call_out/Makefile.src:1.1.1.1
      Rev: src/modules/call_out/call_out.c:1.1.1.1
      Rev: src/modules/call_out/configure.in:1.1.1.1
      Rev: src/modules/call_out/doc/call_out:1.1.1.1
      Rev: src/modules/call_out/doc/call_out_info:1.1.1.1
      Rev: src/modules/call_out/doc/find_call_out:1.1.1.1
      Rev: src/modules/call_out/doc/remove_call_out:1.1.1.1
      Rev: src/modules/configure.in:1.1.1.1
      Rev: src/modules/files/.cvsignore:1.1.1.1
      Rev: src/modules/files/Makefile.src:1.1.1.1
      Rev: src/modules/files/configure.in:1.1.1.1
      Rev: src/modules/files/datagram.c:1.1.1.1
      Rev: src/modules/files/doc/cd:1.1.1.1
      Rev: src/modules/files/doc/errno:1.1.1.1
      Rev: src/modules/files/doc/exece:1.1.1.1
      Rev: src/modules/files/doc/file:1.1.1.1
      Rev: src/modules/files/doc/file_stat:1.1.1.1
      Rev: src/modules/files/doc/fork:1.1.1.1
      Rev: src/modules/files/doc/get_dir:1.1.1.1
      Rev: src/modules/files/doc/getcwd:1.1.1.1
      Rev: src/modules/files/doc/mkdir:1.1.1.1
      Rev: src/modules/files/doc/mv:1.1.1.1
      Rev: src/modules/files/doc/port:1.1.1.1
      Rev: src/modules/files/doc/rm:1.1.1.1
      Rev: src/modules/files/doc/strerror:1.1.1.1
      Rev: src/modules/files/doc/werror:1.1.1.1
      Rev: src/modules/files/efuns.c:1.1.1.1
      Rev: src/modules/files/file.c:1.1.1.1
      Rev: src/modules/files/file.h:1.1.1.1
      Rev: src/modules/files/file_machine.h.in:1.1.1.1
      Rev: src/modules/files/socket.c:1.1.1.1
      Rev: src/modules/gdbmmod/.cvsignore:1.1.1.1
      Rev: src/modules/gdbmmod/Makefile.src:1.1.1.1
      Rev: src/modules/gdbmmod/configure.in:1.1.1.1
      Rev: src/modules/gdbmmod/doc/gdbm:1.1.1.1
      Rev: src/modules/gdbmmod/gdbm_machine.h.in:1.1.1.1
      Rev: src/modules/gdbmmod/gdbmmod.c:1.1.1.1
      Rev: src/modules/gmpmod/.cvsignore:1.1.1.1
      Rev: src/modules/gmpmod/Makefile.src:1.1.1.1
      Rev: src/modules/gmpmod/configure.in:1.1.1.1
      Rev: src/modules/gmpmod/doc/mpz:1.1.1.1
      Rev: src/modules/gmpmod/gmp_machine.h.in:1.1.1.1
      Rev: src/modules/gmpmod/mpz_glue.c:1.1.1.1
      Rev: src/modules/image/Makefile.in:1.1.1.1
      Rev: src/modules/image/Makefile.src:1.1.1.1
      Rev: src/modules/image/configure:1.1.1.1
      Rev: src/modules/image/configure.in:1.1.1.1
      Rev: src/modules/image/dependencies:1.1.1.1
      Rev: src/modules/image/doc.txt:1.1.1.1
      Rev: src/modules/image/doc/image.html:1.1.1.1
      Rev: src/modules/image/font.c:1.1.1.1
      Rev: src/modules/image/image.c:1.1.1.1
      Rev: src/modules/image/image.h:1.1.1.1
      Rev: src/modules/image/lzw.c:1.1.1.1
      Rev: src/modules/image/lzw.h:1.1.1.1
      Rev: src/modules/image/quant.c:1.1.1.1
      Rev: src/modules/image/togif.c:1.1.1.1
      Rev: src/modules/math/.cvsignore:1.1.1.1
      Rev: src/modules/math/Makefile.src:1.1.1.1
      Rev: src/modules/math/configure.in:1.1.1.1
      Rev: src/modules/math/doc/acos:1.1.1.1
      Rev: src/modules/math/doc/asin:1.1.1.1
      Rev: src/modules/math/doc/atan:1.1.1.1
      Rev: src/modules/math/doc/ceil:1.1.1.1
      Rev: src/modules/math/doc/cos:1.1.1.1
      Rev: src/modules/math/doc/exp:1.1.1.1
      Rev: src/modules/math/doc/floor:1.1.1.1
      Rev: src/modules/math/doc/log:1.1.1.1
      Rev: src/modules/math/doc/pow:1.1.1.1
      Rev: src/modules/math/doc/sin:1.1.1.1
      Rev: src/modules/math/doc/sqrt:1.1.1.1
      Rev: src/modules/math/doc/tan:1.1.1.1
      Rev: src/modules/math/math.c:1.1.1.1
      Rev: src/modules/module_dir_marker:1.1.1.1
      Rev: src/modules/pipe/Makefile.in:1.1.1.1
      Rev: src/modules/pipe/Makefile.src:1.1.1.1
      Rev: src/modules/pipe/config.h:1.1.1.1
      Rev: src/modules/pipe/configure:1.1.1.1
      Rev: src/modules/pipe/configure.in:1.1.1.1
      Rev: src/modules/pipe/dependencies:1.1.1.1
      Rev: src/modules/pipe/pipe.c:1.1.1.1
      Rev: src/modules/readlinemod/.cvsignore:1.1.1.1
      Rev: src/modules/readlinemod/Makefile.src:1.1.1.1
      Rev: src/modules/readlinemod/configure.in:1.1.1.1
      Rev: src/modules/readlinemod/doc/readline:1.1.1.1
      Rev: src/modules/readlinemod/readline_machine.h.in:1.1.1.1
      Rev: src/modules/readlinemod/readlinemod.c:1.1.1.1
      Rev: src/modules/regexp/.cvsignore:1.1.1.1
      Rev: src/modules/regexp/Makefile.src:1.1.1.1
      Rev: src/modules/regexp/configure.in:1.1.1.1
      Rev: src/modules/regexp/doc/regexp:1.1.1.1
      Rev: src/modules/regexp/glue.c:1.1.1.1
      Rev: src/modules/regexp/regexp.c:1.1.1.1
      Rev: src/modules/regexp/regexp.h:1.1.1.1
      Rev: src/modules/spider/Makefile.in:1.1.1.1
      Rev: src/modules/spider/Makefile.src:1.1.1.1
      Rev: src/modules/spider/configure:1.1.1.1
      Rev: src/modules/spider/configure.in:1.1.1.1
      Rev: src/modules/spider/defs.h:1.1.1.1
      Rev: src/modules/spider/dependencies:1.1.1.1
      Rev: src/modules/spider/discdate.c:1.1.1.1
      Rev: src/modules/spider/encode_decode.c:1.1.1.1
      Rev: src/modules/spider/http_parse.c:1.1.1.1
      Rev: src/modules/spider/lock.c:1.1.1.1
      Rev: src/modules/spider/lock.h:1.1.1.1
      Rev: src/modules/spider/sdebug.c:1.1.1.1
      Rev: src/modules/spider/shared_mem_mapping.c:1.1.1.1
      Rev: src/modules/spider/sharedmem.c:1.1.1.1
      Rev: src/modules/spider/sharedmem.h:1.1.1.1
      Rev: src/modules/spider/spider.c:1.1.1.1
      Rev: src/modules/spider/spider.h.in:1.1.1.1
      Rev: src/modules/spider/stardate.c:1.1.1.1
      Rev: src/modules/spider/streamed_parser.c:1.1.1.1
      Rev: src/modules/spider/streamed_parser.h:1.1.1.1
      Rev: src/modules/spider/tree.c:1.1.1.1
      Rev: src/modules/sprintf/.cvsignore:1.1.1.1
      Rev: src/modules/sprintf/Makefile.src:1.1.1.1
      Rev: src/modules/sprintf/configure.in:1.1.1.1
      Rev: src/modules/sprintf/doc/sprintf:1.1.1.1
      Rev: src/modules/sprintf/sprintf.c:1.1.1.1
      Rev: src/multiset.c:1.1.1.1
      Rev: src/multiset.h:1.1.1.1
      Rev: src/object.c:1.1.1.1
      Rev: src/object.h:1.1.1.1
      Rev: src/opcodes.c:1.1.1.1
      Rev: src/opcodes.h:1.1.1.1
      Rev: src/operators.c:1.1.1.1
      Rev: src/operators.h:1.1.1.1
      Rev: src/otable.h:1.1.1.1
      Rev: src/peep.c:1.1.1.1
      Rev: src/peep.h:1.1.1.1
      Rev: src/peep.in:1.1.1.1
      Rev: src/pike_types.c:1.1.1.1
      Rev: src/pike_types.h:1.1.1.1
      Rev: src/port.c:1.1.1.1
      Rev: src/port.h:1.1.1.1
      Rev: src/program.c:1.1.1.1
      Rev: src/program.h:1.1.1.1
      Rev: src/run_autoconfig:1.1.1.1
      Rev: src/rusage.c:1.1.1.1
      Rev: src/rusage.h:1.1.1.1
      Rev: src/signal_handler.c:1.1.1.1
      Rev: src/signal_handler.h:1.1.1.1
      Rev: src/stamp-h:1.1.1.1
      Rev: src/stralloc.c:1.1.1.1
      Rev: src/stralloc.h:1.1.1.1
      Rev: src/stuff.c:1.1.1.1
      Rev: src/stuff.h:1.1.1.1
      Rev: src/svalue.c:1.1.1.1
      Rev: src/svalue.h:1.1.1.1
      Rev: src/test/.cvsignore:1.1.1.1
      Rev: src/test/create_testsuite:1.1.1.1
      Rev: src/test/test_pike.pike:1.1.1.1
      Rev: src/time_stuff.h:1.1.1.1
      Rev: src/todo:1.1.1.1
      Rev: src/types.h:1.1.1.1
      Rev: src/ualarm.c:1.1.1.1
      06983fde
      History
      Pike
      Fredrik Hübinette (Hubbe) authored
      Rev: .cvsignore:1.1.1.1
      Rev: README:1.1.1.1
      Rev: bin/export.pike:1.1.1.1
      Rev: bin/fixdepends.sh:1.1.1.1
      Rev: bin/hilfe:1.1.1.1
      Rev: bin/htmlify_docs.pike:1.1.1.1
      Rev: bin/httpd.pike:1.1.1.1
      Rev: bin/metatest:1.1.1.1
      Rev: bin/mkpeep.pike:1.1.1.1
      Rev: bin/rsif:1.1.1.1
      Rev: doc/README:1.1.1.1
      Rev: doc/builtin/_verify_internals:1.1.1.1
      Rev: doc/builtin/add_constant:1.1.1.1
      Rev: doc/builtin/aggregage_multiset:1.1.1.1
      Rev: doc/builtin/aggregate:1.1.1.1
      Rev: doc/builtin/aggregate_mapping:1.1.1.1
      Rev: doc/builtin/alarm:1.1.1.1
      Rev: doc/builtin/all_constants:1.1.1.1
      Rev: doc/builtin/allocate:1.1.1.1
      Rev: doc/builtin/arrayp:1.1.1.1
      Rev: doc/builtin/backtrace:1.1.1.1
      Rev: doc/builtin/call_function:1.1.1.1
      Rev: doc/builtin/clone:1.1.1.1
      Rev: doc/builtin/column:1.1.1.1
      Rev: doc/builtin/combine_path:1.1.1.1
      Rev: doc/builtin/compile_file:1.1.1.1
      Rev: doc/builtin/compile_string:1.1.1.1
      Rev: doc/builtin/copy_value:1.1.1.1
      Rev: doc/builtin/crypt:1.1.1.1
      Rev: doc/builtin/ctime:1.1.1.1
      Rev: doc/builtin/destruct:1.1.1.1
      Rev: doc/builtin/equal:1.1.1.1
      Rev: doc/builtin/exit:1.1.1.1
      Rev: doc/builtin/floatp:1.1.1.1
      Rev: doc/builtin/function_name:1.1.1.1
      Rev: doc/builtin/function_object:1.1.1.1
      Rev: doc/builtin/functionp:1.1.1.1
      Rev: doc/builtin/gc:1.1.1.1
      Rev: doc/builtin/getpid:1.1.1.1
      Rev: doc/builtin/glob:1.1.1.1
      Rev: doc/builtin/hash:1.1.1.1
      Rev: doc/builtin/indices:1.1.1.1
      Rev: doc/builtin/intp:1.1.1.1
      Rev: doc/builtin/kill:1.1.1.1
      Rev: doc/builtin/localtime:1.1.1.1
      Rev: doc/builtin/lower_case:1.1.1.1
      Rev: doc/builtin/m_delete:1.1.1.1
      Rev: doc/builtin/mappingp:1.1.1.1
      Rev: doc/builtin/mkmapping:1.1.1.1
      Rev: doc/builtin/multisetp:1.1.1.1
      Rev: doc/builtin/next_object:1.1.1.1
      Rev: doc/builtin/object_program:1.1.1.1
      Rev: doc/builtin/objectp:1.1.1.1
      Rev: doc/builtin/programp:1.1.1.1
      Rev: doc/builtin/query_host_name:1.1.1.1
      Rev: doc/builtin/query_num_arg:1.1.1.1
      Rev: doc/builtin/random:1.1.1.1
      Rev: doc/builtin/random_seed:1.1.1.1
      Rev: doc/builtin/replace:1.1.1.1
      Rev: doc/builtin/reverse:1.1.1.1
      Rev: doc/builtin/rows:1.1.1.1
      Rev: doc/builtin/rusage:1.1.1.1
      Rev: doc/builtin/search:1.1.1.1
      Rev: doc/builtin/signal:1.1.1.1
      Rev: doc/builtin/signame:1.1.1.1
      Rev: doc/builtin/signum:1.1.1.1
      Rev: doc/builtin/sizeof:1.1.1.1
      Rev: doc/builtin/sleep:1.1.1.1
      Rev: doc/builtin/sort:1.1.1.1
      Rev: doc/builtin/stringp:1.1.1.1
      Rev: doc/builtin/this_object:1.1.1.1
      Rev: doc/builtin/throw:1.1.1.1
      Rev: doc/builtin/time:1.1.1.1
      Rev: doc/builtin/trace:1.1.1.1
      Rev: doc/builtin/ualarm:1.1.1.1
      Rev: doc/builtin/upper_case:1.1.1.1
      Rev: doc/builtin/values:1.1.1.1
      Rev: doc/builtin/zero_type:1.1.1.1
      Rev: doc/index.bmml:1.1.1.1
      Rev: doc/manual/example1:1.1.1.1
      Rev: doc/manual/example2:1.1.1.1
      Rev: doc/manual/example3:1.1.1.1
      Rev: doc/manual/tutorial:1.1.1.1
      Rev: doc/operators/and:1.1.1.1
      Rev: doc/operators/complement:1.1.1.1
      Rev: doc/operators/divide:1.1.1.1
      Rev: doc/operators/index:1.1.1.1
      Rev: doc/operators/is_equal:1.1.1.1
      Rev: doc/operators/is_greater_or_equal:1.1.1.1
      Rev: doc/operators/is_greater_than:1.1.1.1
      Rev: doc/operators/is_lesser_or_equal:1.1.1.1
      Rev: doc/operators/is_lesser_than:1.1.1.1
      Rev: doc/operators/logical_and:1.1.1.1
      Rev: doc/operators/logical_or:1.1.1.1
      Rev: doc/operators/minus:1.1.1.1
      Rev: doc/operators/modulo:1.1.1.1
      Rev: doc/operators/mult:1.1.1.1
      Rev: doc/operators/not:1.1.1.1
      Rev: doc/operators/not_equal:1.1.1.1
      Rev: doc/operators/operators:1.1.1.1
      Rev: doc/operators/or:1.1.1.1
      Rev: doc/operators/plus:1.1.1.1
      Rev: doc/operators/range:1.1.1.1
      Rev: doc/operators/shift_left:1.1.1.1
      Rev: doc/operators/shift_right:1.1.1.1
      Rev: doc/operators/xor:1.1.1.1
      Rev: doc/pike/all.bmml:1.1.1.1
      Rev: doc/pike/cast:1.1.1.1
      Rev: doc/pike/catch:1.1.1.1
      Rev: doc/pike/class:1.1.1.1
      Rev: doc/pike/command_line_options:1.1.1.1
      Rev: doc/pike/control_structures/break:1.1.1.1
      Rev: doc/pike/control_structures/catch:1.1.1.1
      Rev: doc/pike/control_structures/continue:1.1.1.1
      Rev: doc/pike/control_structures/do-while:1.1.1.1
      Rev: doc/pike/control_structures/for:1.1.1.1
      Rev: doc/pike/control_structures/foreach:1.1.1.1
      Rev: doc/pike/control_structures/if-else:1.1.1.1
      Rev: doc/pike/control_structures/return:1.1.1.1
      Rev: doc/pike/control_structures/switch:1.1.1.1
      Rev: doc/pike/control_structures/while:1.1.1.1
      Rev: doc/pike/efuns.bmml:1.1.1.1
      Rev: doc/pike/functions:1.1.1.1
      Rev: doc/pike/gauge:1.1.1.1
      Rev: doc/pike/hilfe:1.1.1.1
      Rev: doc/pike/how_to_make_modules:1.1.1.1
      Rev: doc/pike/inherit:1.1.1.1
      Rev: doc/pike/lambda:1.1.1.1
      Rev: doc/pike/modifier:1.1.1.1
      Rev: doc/pike/preprocessor:1.1.1.1
      Rev: doc/pike/reserved.bmml:1.1.1.1
      Rev: doc/pike/sscanf:1.1.1.1
      Rev: doc/pike/typeof:1.1.1.1
      Rev: doc/pike/variables:1.1.1.1
      Rev: doc/simulated/PI:1.1.1.1
      Rev: doc/simulated/add_efun:1.1.1.1
      Rev: doc/simulated/aggregage_list:1.1.1.1
      Rev: doc/simulated/all_efuns:1.1.1.1
      Rev: doc/simulated/capitalize:1.1.1.1
      Rev: doc/simulated/describe_backtrace:1.1.1.1
      Rev: doc/simulated/exec:1.1.1.1
      Rev: doc/simulated/explode:1.1.1.1
      Rev: doc/simulated/file_size:1.1.1.1
      Rev: doc/simulated/filter:1.1.1.1
      Rev: doc/simulated/filter_array:1.1.1.1
      Rev: doc/simulated/get_function:1.1.1.1
      Rev: doc/simulated/getenv:1.1.1.1
      Rev: doc/simulated/implode:1.1.1.1
      Rev: doc/simulated/l_sizeof:1.1.1.1
      Rev: doc/simulated/listp:1.1.1.1
      Rev: doc/simulated/m_indices:1.1.1.1
      Rev: doc/simulated/m_sizeof:1.1.1.1
      Rev: doc/simulated/m_values:1.1.1.1
      Rev: doc/simulated/map:1.1.1.1
      Rev: doc/simulated/map_array:1.1.1.1
      Rev: doc/simulated/master:1.1.1.1
      Rev: doc/simulated/member_array:1.1.1.1
      Rev: doc/simulated/mklist:1.1.1.1
      Rev: doc/simulated/mkmultiset:1.1.1.1
      Rev: doc/simulated/perror:1.1.1.1
      Rev: doc/simulated/popen:1.1.1.1
      Rev: doc/simulated/previous_object:1.1.1.1
      Rev: doc/simulated/putenv:1.1.1.1
      Rev: doc/simulated/read_bytes:1.1.1.1
      Rev: doc/simulated/regexp:1.1.1.1
      Rev: doc/simulated/search_array:1.1.1.1
      Rev: doc/simulated/sort_array:1.1.1.1
      Rev: doc/simulated/spawn:1.1.1.1
      Rev: doc/simulated/strlen:1.1.1.1
      Rev: doc/simulated/strstr:1.1.1.1
      Rev: doc/simulated/sum:1.1.1.1
      Rev: doc/simulated/sum_arrays:1.1.1.1
      Rev: doc/simulated/system:1.1.1.1
      Rev: doc/simulated/this_function:1.1.1.1
      Rev: doc/simulated/version:1.1.1.1
      Rev: doc/simulated/write:1.1.1.1
      Rev: doc/simulated/write_file:1.1.1.1
      Rev: doc/types/array:1.1.1.1
      Rev: doc/types/float:1.1.1.1
      Rev: doc/types/function:1.1.1.1
      Rev: doc/types/int:1.1.1.1
      Rev: doc/types/mapping:1.1.1.1
      Rev: doc/types/mixed:1.1.1.1
      Rev: doc/types/multiset:1.1.1.1
      Rev: doc/types/object:1.1.1.1
      Rev: doc/types/program:1.1.1.1
      Rev: doc/types/string:1.1.1.1
      Rev: lib/include/array.h:1.1.1.1
      Rev: lib/include/array.pre.pike:1.1.1.1
      Rev: lib/include/process.h:1.1.1.1
      Rev: lib/include/process.pre.pike:1.1.1.1
      Rev: lib/include/simulate.h:1.1.1.1
      Rev: lib/include/simulate.pre.pike:1.1.1.1
      Rev: lib/include/stdio.h:1.1.1.1
      Rev: lib/include/stdio.pre.pike:1.1.1.1
      Rev: lib/master.pike:1.1.1.1
      Rev: src/.cvsignore:1.1.1.1
      Rev: src/BUGS:1.1.1.1
      Rev: src/COPYING:1.1.1.1
      Rev: src/COPYRIGHT:1.1.1.1
      Rev: src/ChangeLog:1.1.1.1
      Rev: src/DISCLAIMER:1.1.1.1
      Rev: src/Makefile.src:1.1.1.1
      Rev: src/README:1.1.1.1
      Rev: src/alloca.c:1.1.1.1
      Rev: src/array.c:1.1.1.1
      Rev: src/array.h:1.1.1.1
      Rev: src/backend.c:1.1.1.1
      Rev: src/backend.h:1.1.1.1
      Rev: src/build_modlist_h:1.1.1.1
      Rev: src/builtin_functions.c:1.1.1.1
      Rev: src/builtin_functions.h:1.1.1.1
      Rev: src/callback.c:1.1.1.1
      Rev: src/callback.h:1.1.1.1
      Rev: src/compilation.h:1.1.1.1
      Rev: src/config.cache:1.1.1.1
      Rev: src/config.h:1.1.1.1
      Rev: src/config.log:1.1.1.1
      Rev: src/configure.in:1.1.1.1
      Rev: src/constants.c:1.1.1.1
      Rev: src/constants.h:1.1.1.1
      Rev: src/docode.c:1.1.1.1
      Rev: src/docode.h:1.1.1.1
      Rev: src/dynamic_buffer.c:1.1.1.1
      Rev: src/dynamic_buffer.h:1.1.1.1
      Rev: src/efun.h:1.1.1.1
      Rev: src/error.c:1.1.1.1
      Rev: src/error.h:1.1.1.1
      Rev: src/fd_control.c:1.1.1.1
      Rev: src/fd_control.h:1.1.1.1
      Rev: src/fsort.c:1.1.1.1
      Rev: src/fsort.h:1.1.1.1
      Rev: src/gc.c:1.1.1.1
      Rev: src/gc.h:1.1.1.1
      Rev: src/global.h:1.1.1.1
      Rev: src/hashtable.c:1.1.1.1
      Rev: src/hashtable.h:1.1.1.1
      Rev: src/install-sh:1.1.1.1
      Rev: src/interpret.c:1.1.1.1
      Rev: src/interpret.h:1.1.1.1
      Rev: src/language.y:1.1.1.1
      Rev: src/las.c:1.1.1.1
      Rev: src/las.h:1.1.1.1
      Rev: src/lex.c:1.1.1.1
      Rev: src/lex.h:1.1.1.1
      Rev: src/machine.h.in:1.1.1.1
      Rev: src/macros.h:1.1.1.1
      Rev: src/main.c:1.1.1.1
      Rev: src/main.h:1.1.1.1
      Rev: src/mapping.c:1.1.1.1
      Rev: src/mapping.h:1.1.1.1
      Rev: src/memory.c:1.1.1.1
      Rev: src/memory.h:1.1.1.1
      Rev: src/module.c:1.1.1.1
      Rev: src/module.h:1.1.1.1
      Rev: src/modules/.cvsignore:1.1.1.1
      Rev: src/modules/Makefile.src:1.1.1.1
      Rev: src/modules/call_out/.cvsignore:1.1.1.1
      Rev: src/modules/call_out/Makefile.src:1.1.1.1
      Rev: src/modules/call_out/call_out.c:1.1.1.1
      Rev: src/modules/call_out/configure.in:1.1.1.1
      Rev: src/modules/call_out/doc/call_out:1.1.1.1
      Rev: src/modules/call_out/doc/call_out_info:1.1.1.1
      Rev: src/modules/call_out/doc/find_call_out:1.1.1.1
      Rev: src/modules/call_out/doc/remove_call_out:1.1.1.1
      Rev: src/modules/configure.in:1.1.1.1
      Rev: src/modules/files/.cvsignore:1.1.1.1
      Rev: src/modules/files/Makefile.src:1.1.1.1
      Rev: src/modules/files/configure.in:1.1.1.1
      Rev: src/modules/files/datagram.c:1.1.1.1
      Rev: src/modules/files/doc/cd:1.1.1.1
      Rev: src/modules/files/doc/errno:1.1.1.1
      Rev: src/modules/files/doc/exece:1.1.1.1
      Rev: src/modules/files/doc/file:1.1.1.1
      Rev: src/modules/files/doc/file_stat:1.1.1.1
      Rev: src/modules/files/doc/fork:1.1.1.1
      Rev: src/modules/files/doc/get_dir:1.1.1.1
      Rev: src/modules/files/doc/getcwd:1.1.1.1
      Rev: src/modules/files/doc/mkdir:1.1.1.1
      Rev: src/modules/files/doc/mv:1.1.1.1
      Rev: src/modules/files/doc/port:1.1.1.1
      Rev: src/modules/files/doc/rm:1.1.1.1
      Rev: src/modules/files/doc/strerror:1.1.1.1
      Rev: src/modules/files/doc/werror:1.1.1.1
      Rev: src/modules/files/efuns.c:1.1.1.1
      Rev: src/modules/files/file.c:1.1.1.1
      Rev: src/modules/files/file.h:1.1.1.1
      Rev: src/modules/files/file_machine.h.in:1.1.1.1
      Rev: src/modules/files/socket.c:1.1.1.1
      Rev: src/modules/gdbmmod/.cvsignore:1.1.1.1
      Rev: src/modules/gdbmmod/Makefile.src:1.1.1.1
      Rev: src/modules/gdbmmod/configure.in:1.1.1.1
      Rev: src/modules/gdbmmod/doc/gdbm:1.1.1.1
      Rev: src/modules/gdbmmod/gdbm_machine.h.in:1.1.1.1
      Rev: src/modules/gdbmmod/gdbmmod.c:1.1.1.1
      Rev: src/modules/gmpmod/.cvsignore:1.1.1.1
      Rev: src/modules/gmpmod/Makefile.src:1.1.1.1
      Rev: src/modules/gmpmod/configure.in:1.1.1.1
      Rev: src/modules/gmpmod/doc/mpz:1.1.1.1
      Rev: src/modules/gmpmod/gmp_machine.h.in:1.1.1.1
      Rev: src/modules/gmpmod/mpz_glue.c:1.1.1.1
      Rev: src/modules/image/Makefile.in:1.1.1.1
      Rev: src/modules/image/Makefile.src:1.1.1.1
      Rev: src/modules/image/configure:1.1.1.1
      Rev: src/modules/image/configure.in:1.1.1.1
      Rev: src/modules/image/dependencies:1.1.1.1
      Rev: src/modules/image/doc.txt:1.1.1.1
      Rev: src/modules/image/doc/image.html:1.1.1.1
      Rev: src/modules/image/font.c:1.1.1.1
      Rev: src/modules/image/image.c:1.1.1.1
      Rev: src/modules/image/image.h:1.1.1.1
      Rev: src/modules/image/lzw.c:1.1.1.1
      Rev: src/modules/image/lzw.h:1.1.1.1
      Rev: src/modules/image/quant.c:1.1.1.1
      Rev: src/modules/image/togif.c:1.1.1.1
      Rev: src/modules/math/.cvsignore:1.1.1.1
      Rev: src/modules/math/Makefile.src:1.1.1.1
      Rev: src/modules/math/configure.in:1.1.1.1
      Rev: src/modules/math/doc/acos:1.1.1.1
      Rev: src/modules/math/doc/asin:1.1.1.1
      Rev: src/modules/math/doc/atan:1.1.1.1
      Rev: src/modules/math/doc/ceil:1.1.1.1
      Rev: src/modules/math/doc/cos:1.1.1.1
      Rev: src/modules/math/doc/exp:1.1.1.1
      Rev: src/modules/math/doc/floor:1.1.1.1
      Rev: src/modules/math/doc/log:1.1.1.1
      Rev: src/modules/math/doc/pow:1.1.1.1
      Rev: src/modules/math/doc/sin:1.1.1.1
      Rev: src/modules/math/doc/sqrt:1.1.1.1
      Rev: src/modules/math/doc/tan:1.1.1.1
      Rev: src/modules/math/math.c:1.1.1.1
      Rev: src/modules/module_dir_marker:1.1.1.1
      Rev: src/modules/pipe/Makefile.in:1.1.1.1
      Rev: src/modules/pipe/Makefile.src:1.1.1.1
      Rev: src/modules/pipe/config.h:1.1.1.1
      Rev: src/modules/pipe/configure:1.1.1.1
      Rev: src/modules/pipe/configure.in:1.1.1.1
      Rev: src/modules/pipe/dependencies:1.1.1.1
      Rev: src/modules/pipe/pipe.c:1.1.1.1
      Rev: src/modules/readlinemod/.cvsignore:1.1.1.1
      Rev: src/modules/readlinemod/Makefile.src:1.1.1.1
      Rev: src/modules/readlinemod/configure.in:1.1.1.1
      Rev: src/modules/readlinemod/doc/readline:1.1.1.1
      Rev: src/modules/readlinemod/readline_machine.h.in:1.1.1.1
      Rev: src/modules/readlinemod/readlinemod.c:1.1.1.1
      Rev: src/modules/regexp/.cvsignore:1.1.1.1
      Rev: src/modules/regexp/Makefile.src:1.1.1.1
      Rev: src/modules/regexp/configure.in:1.1.1.1
      Rev: src/modules/regexp/doc/regexp:1.1.1.1
      Rev: src/modules/regexp/glue.c:1.1.1.1
      Rev: src/modules/regexp/regexp.c:1.1.1.1
      Rev: src/modules/regexp/regexp.h:1.1.1.1
      Rev: src/modules/spider/Makefile.in:1.1.1.1
      Rev: src/modules/spider/Makefile.src:1.1.1.1
      Rev: src/modules/spider/configure:1.1.1.1
      Rev: src/modules/spider/configure.in:1.1.1.1
      Rev: src/modules/spider/defs.h:1.1.1.1
      Rev: src/modules/spider/dependencies:1.1.1.1
      Rev: src/modules/spider/discdate.c:1.1.1.1
      Rev: src/modules/spider/encode_decode.c:1.1.1.1
      Rev: src/modules/spider/http_parse.c:1.1.1.1
      Rev: src/modules/spider/lock.c:1.1.1.1
      Rev: src/modules/spider/lock.h:1.1.1.1
      Rev: src/modules/spider/sdebug.c:1.1.1.1
      Rev: src/modules/spider/shared_mem_mapping.c:1.1.1.1
      Rev: src/modules/spider/sharedmem.c:1.1.1.1
      Rev: src/modules/spider/sharedmem.h:1.1.1.1
      Rev: src/modules/spider/spider.c:1.1.1.1
      Rev: src/modules/spider/spider.h.in:1.1.1.1
      Rev: src/modules/spider/stardate.c:1.1.1.1
      Rev: src/modules/spider/streamed_parser.c:1.1.1.1
      Rev: src/modules/spider/streamed_parser.h:1.1.1.1
      Rev: src/modules/spider/tree.c:1.1.1.1
      Rev: src/modules/sprintf/.cvsignore:1.1.1.1
      Rev: src/modules/sprintf/Makefile.src:1.1.1.1
      Rev: src/modules/sprintf/configure.in:1.1.1.1
      Rev: src/modules/sprintf/doc/sprintf:1.1.1.1
      Rev: src/modules/sprintf/sprintf.c:1.1.1.1
      Rev: src/multiset.c:1.1.1.1
      Rev: src/multiset.h:1.1.1.1
      Rev: src/object.c:1.1.1.1
      Rev: src/object.h:1.1.1.1
      Rev: src/opcodes.c:1.1.1.1
      Rev: src/opcodes.h:1.1.1.1
      Rev: src/operators.c:1.1.1.1
      Rev: src/operators.h:1.1.1.1
      Rev: src/otable.h:1.1.1.1
      Rev: src/peep.c:1.1.1.1
      Rev: src/peep.h:1.1.1.1
      Rev: src/peep.in:1.1.1.1
      Rev: src/pike_types.c:1.1.1.1
      Rev: src/pike_types.h:1.1.1.1
      Rev: src/port.c:1.1.1.1
      Rev: src/port.h:1.1.1.1
      Rev: src/program.c:1.1.1.1
      Rev: src/program.h:1.1.1.1
      Rev: src/run_autoconfig:1.1.1.1
      Rev: src/rusage.c:1.1.1.1
      Rev: src/rusage.h:1.1.1.1
      Rev: src/signal_handler.c:1.1.1.1
      Rev: src/signal_handler.h:1.1.1.1
      Rev: src/stamp-h:1.1.1.1
      Rev: src/stralloc.c:1.1.1.1
      Rev: src/stralloc.h:1.1.1.1
      Rev: src/stuff.c:1.1.1.1
      Rev: src/stuff.h:1.1.1.1
      Rev: src/svalue.c:1.1.1.1
      Rev: src/svalue.h:1.1.1.1
      Rev: src/test/.cvsignore:1.1.1.1
      Rev: src/test/create_testsuite:1.1.1.1
      Rev: src/test/test_pike.pike:1.1.1.1
      Rev: src/time_stuff.h:1.1.1.1
      Rev: src/todo:1.1.1.1
      Rev: src/types.h:1.1.1.1
      Rev: src/ualarm.c:1.1.1.1
    desCode.h 10.96 KiB
    /* desCode.h
     *
     * $Id$ */
    
    /*	des - fast & portable DES encryption & decryption.
     *	Copyright (C) 1992  Dana L. How
     *	Please see the file `descore.README' for the complete copyright notice.
     */
    
    #include "des.h"
    
    extern const uint32_t des_keymap[];
    extern const uint32_t des_bigmap[];
    
    /* optional customization:
     * the idea here is to alter the code so it will still run correctly
     * on any machine,  but the quickest on the specific machine in mind.
     * note that these silly tweaks can give you a 15%-20% speed improvement
     * on the sparc -- it's probably even more significant on the 68000. */
    
    /* take care of machines with incredibly few registers */
    #if	defined(i386)
    #define	REGISTER		/* only x, y, z will be declared register */
    #else
    #define	REGISTER	register
    #endif	/* i386 */
    
    /* is auto inc/dec faster than 7bit unsigned indexing? */
    #if	defined(vax) || defined(mc68000)
    #define	FIXR		r += 32;
    #define	FIXS		s +=  8;
    #define	PREV(v,o)	*--v
    #define	NEXT(v,o)	*v++
    #else
    #define	FIXR
    #define	FIXS
    #define	PREV(v,o)	v[o]
    #define	NEXT(v,o)	v[o]
    #endif
    
    /* if no machine type, default is indexing, 6 registers and cheap literals */
    #if	!defined(i386) && !defined(vax) && !defined(mc68000) && !defined(sparc)
    #define	vax
    #endif
    
    
    /* handle a compiler which can't reallocate registers */
    /* The BYTE type is used as parameter for the encrypt/decrypt functions.
     * It's pretty bad to have the function prototypes depend on
     * a macro definition that the users of the function doesn't
     * know about. /Niels */
    #if	0			/* didn't feel like deleting */
    #define	SREGFREE	; s = (uint8_t *) D
    #define	DEST		s
    #define	D		m0
    #define	BYTE		uint32_t
    #else
    #define	SREGFREE
    #define	DEST		d
    #define	D		d
    #define	BYTE		uint8_t
    #endif
    
    /* handle constants in the optimal way for 386 & vax */
    /* 386: we declare 3 register variables (see above) and use 3 more variables;
     * vax: we use 6 variables, all declared register;
     * we assume address literals are cheap & unrestricted;
     * we assume immediate constants are cheap & unrestricted. */
    #if	defined(i386) || defined(vax)
    #define	MQ0	 des_bigmap
    #define	MQ1	(des_bigmap +  64)
    #define	MQ2	(des_bigmap + 128)
    #define	MQ3	(des_bigmap + 192)
    #define	HQ0(z)				/*	z |= 0x01000000L; */
    #define	HQ2(z)				/*	z |= 0x03000200L; */
    #define	LQ0(z)	0xFCFC & z
    #define	LQ1(z)	0xFCFC & z
    #define	LQ2(z)	0xFCFC & z
    #define	LQ3(z)	0xFCFC & z
    #define	SQ	16
    #define	MS0	 des_keymap 
    #define	MS1	(des_keymap +  64)
    #define	MS2	(des_keymap + 128)
    #define	MS3	(des_keymap + 192)
    #define	MS4	(des_keymap + 256)
    #define	MS5	(des_keymap + 320)
    #define	MS6	(des_keymap + 384)
    #define	MS7	(des_keymap + 448)
    #define	HS(z)
    #define	LS0(z)	0xFC & z
    #define	LS1(z)	0xFC & z
    #define	LS2(z)	0xFC & z
    #define	LS3(z)	0xFC & z
    #define	REGQUICK
    #define	SETQUICK
    #define	REGSMALL
    #define	SETSMALL
    #endif	/* defined(i386) || defined(vax) */
    
    /* handle constants in the optimal way for mc68000 */
    /* in addition to the core 6 variables, we declare 3 registers holding constants
     * and 4 registers holding address literals.
     * at most 6 data values and 5 address values are actively used at once.
     * we assume address literals are so expensive we never use them;
     * we assume constant index offsets > 127 are expensive, so they are not used.
     * we assume all constants are expensive and put them in registers,
     * including shift counts greater than 8. */
    #if	defined(mc68000)
    #define	MQ0	m0
    #define	MQ1	m1
    #define	MQ2	m2
    #define	MQ3	m3
    #define	HQ0(z)
    #define	HQ2(z)
    #define	LQ0(z)	k0 & z
    #define	LQ1(z)	k0 & z
    #define	LQ2(z)	k0 & z
    #define	LQ3(z)	k0 & z
    #define	SQ	k1
    #define	MS0	m0
    #define	MS1	m0
    #define	MS2	m1
    #define	MS3	m1
    #define	MS4	m2
    #define	MS5	m2
    #define	MS6	m3
    #define	MS7	m3
    #define	HS(z)	z |= k0;
    #define	LS0(z)	k1 & z
    #define	LS1(z)	k2 & z
    #define	LS2(z)	k1 & z
    #define	LS3(z)	k2 & z
    #define	REGQUICK				\
    	register uint32_t k0, k1;		\
    	register uint32_t *m0, *m1, *m2, *m3;
    #define	SETQUICK				\
    	; k0 = 0xFCFC				\
    	; k1 = 16				\
    	/*k2 = 28 to speed up ROL */		\
    	; m0 = des_bigmap			\
    	; m1 = m0 + 64				\
    	; m2 = m1 + 64				\
    	; m3 = m2 + 64
    #define	REGSMALL				\
    	register uint32_t k0, k1, k2;		\
    	register uint32_t *m0, *m1, *m2, *m3;
    #define	SETSMALL				\
    	; k0 = 0x01000100L			\
    	; k1 = 0x0FC				\
    	; k2 = 0x1FC				\
    	; m0 = des_keymap			\
    	; m1 = m0 + 128				\
    	; m2 = m1 + 128				\
    	; m3 = m2 + 128
    #endif	/* defined(mc68000) */
    
    /* handle constants in the optimal way for sparc */
    /* in addition to the core 6 variables, we either declare:
     * 4 registers holding address literals and 1 register holding a constant, or
     * 8 registers holding address literals.
     * up to 14 register variables are declared (sparc has %i0-%i5, %l0-%l7).
     * we assume address literals are so expensive we never use them;
     * we assume any constant with >10 bits is expensive and put it in a register,
     * and any other is cheap and is coded in-line. */
    #if	defined(sparc)
    #define	MQ0	m0
    #define	MQ1	m1
    #define	MQ2	m2
    #define	MQ3	m3
    #define	HQ0(z)
    #define	HQ2(z)
    #define	LQ0(z)	k0 & z
    #define	LQ1(z)	k0 & z
    #define	LQ2(z)	k0 & z
    #define	LQ3(z)	k0 & z
    #define	SQ	16
    #define	MS0	m0
    #define	MS1	m1
    #define	MS2	m2
    #define	MS3	m3
    #define	MS4	m4
    #define	MS5	m5
    #define	MS6	m6
    #define	MS7	m7
    #define	HS(z)
    #define	LS0(z)	0xFC & z
    #define	LS1(z)	0xFC & z
    #define	LS2(z)	0xFC & z
    #define	LS3(z)	0xFC & z
    #define	REGQUICK				\
    	register uint32_t k0;			\
    	register uint32_t *m0, *m1, *m2, *m3;
    #define	SETQUICK				\
    	; k0 = 0xFCFC				\
    	; m0 = des_bigmap			\
    	; m1 = m0 + 64				\
    	; m2 = m1 + 64				\
    	; m3 = m2 + 64
    #define	REGSMALL				\
    	register uint32_t *m0, *m1, *m2, *m3, *m4, *m5, *m6, *m7;
    #define	SETSMALL				\
    	; m0 = des_keymap			\
    	; m1 = m0 + 64				\
    	; m2 = m1 + 64				\
    	; m3 = m2 + 64				\
    	; m4 = m3 + 64				\
    	; m5 = m4 + 64				\
    	; m6 = m5 + 64				\
    	; m7 = m6 + 64
    #endif	/* defined(sparc) */
    
    
    /* some basic stuff */
    
    /* generate addresses from a base and an index */
    /* FIXME: This is used only as *ADD(msi,lsi(z)) or *ADD(mqi,lqi(z)).
     * Why not use plain indexing instead? /Niels */
    #define	ADD(b,x)	(uint32_t *) ((uint8_t *)b + (x))
    
    /* low level rotate operations */
    #define	NOP(d,c,o)
    #define	ROL(d,c,o)	d = d << c | d >> o
    #define	ROR(d,c,o)	d = d >> c | d << o
    #define	ROL1(d)		ROL(d, 1, 31)
    #define	ROR1(d)		ROR(d, 1, 31)
    
    /* elementary swap for doing IP/FP */
    #define	SWAP(x,y,m,b)				\
    	z  = ((x >> b) ^ y) & m;		\
    	x ^= z << b;				\
    	y ^= z
    
    
    /* the following macros contain all the important code fragments */
    
    /* load input data, then setup special registers holding constants */
    #define	TEMPQUICK(LOAD)				\
    	REGQUICK				\
    	LOAD()					\
    	SETQUICK
    #define	TEMPSMALL(LOAD)				\
    	REGSMALL				\
    	LOAD()					\
    	SETSMALL
    
    /* load data */
    #define	LOADDATA(x,y)				\
    	FIXS					\
    	y  = PREV(s, 7); y<<= 8;		\
    	y |= PREV(s, 6); y<<= 8;		\
    	y |= PREV(s, 5); y<<= 8;		\
    	y |= PREV(s, 4);			\
    	x  = PREV(s, 3); x<<= 8;		\
    	x |= PREV(s, 2); x<<= 8;		\
    	x |= PREV(s, 1); x<<= 8;		\
    	x |= PREV(s, 0)				\
    	SREGFREE
    /* load data without initial permutation and put into efficient position */
    #define	LOADCORE()				\
    	LOADDATA(x, y);				\
    	ROR1(x);				\
    	ROR1(y)
    /* load data, do the initial permutation and put into efficient position */
    #define	LOADFIPS()				\
    	LOADDATA(y, x);				\
    	SWAP(x, y, 0x0F0F0F0FL, 004);		\
    	SWAP(y, x, 0x0000FFFFL, 020);		\
    	SWAP(x, y, 0x33333333L, 002);		\
    	SWAP(y, x, 0x00FF00FFL, 010);		\
    	ROR1(x);				\
    	z  = (x ^ y) & 0x55555555L;		\
    	y ^= z;					\
    	x ^= z;					\
    	ROR1(y)
    
    
    /* core encryption/decryption operations */
    /* S box mapping and P perm */
    #define	KEYMAPSMALL(x,z,mq0,mq1,hq,lq0,lq1,sq,ms0,ms1,ms2,ms3,hs,ls0,ls1,ls2,ls3)\
    	hs(z)					\
    	x ^= *ADD(ms3, ls3(z));			\
    	z>>= 8;					\
    	x ^= *ADD(ms2, ls2(z));			\
    	z>>= 8;					\
    	x ^= *ADD(ms1, ls1(z));			\
    	z>>= 8;					\
    	x ^= *ADD(ms0, ls0(z))
    /* alternate version: use 64k of tables */
    #define	KEYMAPQUICK(x,z,mq0,mq1,hq,lq0,lq1,sq,ms0,ms1,ms2,ms3,hs,ls0,ls1,ls2,ls3)\
    	hq(z)					\
    	x ^= *ADD(mq0, lq0(z));			\
    	z>>= sq;				\
    	x ^= *ADD(mq1, lq1(z))
    /* apply 24 key bits and do the odd  s boxes */
    #define	S7S1(x,y,z,r,m,KEYMAP,LOAD)		\
    	z  = LOAD(r, m);			\
    	z ^= y;					\
    	KEYMAP(x,z,MQ0,MQ1,HQ0,LQ0,LQ1,SQ,MS0,MS1,MS2,MS3,HS,LS0,LS1,LS2,LS3)
    /* apply 24 key bits and do the even s boxes */
    #define	S6S0(x,y,z,r,m,KEYMAP,LOAD)		\
    	z  = LOAD(r, m);			\
    	z ^= y;					\
    	ROL(z, 4, 28);				\
    	KEYMAP(x,z,MQ2,MQ3,HQ2,LQ2,LQ3,SQ,MS4,MS5,MS6,MS7,HS,LS0,LS1,LS2,LS3)
    /* actual iterations.  equivalent except for UPDATE & swapping m and n */
    #define	ENCR(x,y,z,r,m,n,KEYMAP)		\
    	S7S1(x,y,z,r,m,KEYMAP,NEXT);		\
    	S6S0(x,y,z,r,n,KEYMAP,NEXT)
    #define	DECR(x,y,z,r,m,n,KEYMAP)		\
    	S6S0(x,y,z,r,m,KEYMAP,PREV);		\
    	S7S1(x,y,z,r,n,KEYMAP,PREV)
    
    /* write out result in correct byte order */
    #define	SAVEDATA(x,y)				\
    	NEXT(DEST, 0) = x; x>>= 8;		\
    	NEXT(DEST, 1) = x; x>>= 8;		\
    	NEXT(DEST, 2) = x; x>>= 8;		\
    	NEXT(DEST, 3) = x;			\
    	NEXT(DEST, 4) = y; y>>= 8;		\
    	NEXT(DEST, 5) = y; y>>= 8;		\
    	NEXT(DEST, 6) = y; y>>= 8;		\
    	NEXT(DEST, 7) = y
    /* write out result */
    #define	SAVECORE()				\
    	ROL1(x);				\
    	ROL1(y);				\
    	SAVEDATA(y, x)
    /* do final permutation and write out result */
    #define	SAVEFIPS()				\
    	ROL1(x);				\
    	z  = (x ^ y) & 0x55555555L;		\
    	y ^= z;					\
    	x ^= z;					\
    	ROL1(y);				\
    	SWAP(x, y, 0x00FF00FFL, 010);		\
    	SWAP(y, x, 0x33333333L, 002);		\
    	SWAP(x, y, 0x0000FFFFL, 020);		\
    	SWAP(y, x, 0x0F0F0F0FL, 004);		\
    	SAVEDATA(x, y)
    
    
    /* the following macros contain the encryption/decryption skeletons */
    
    #define	ENCRYPT(NAME, TEMP, LOAD, KEYMAP, SAVE)	\
    						\
    void						\
    NAME(REGISTER BYTE *D,				\
         REGISTER const uint32_t *r,		\
         REGISTER const uint8_t *s)			\
    {						\
    	register uint32_t x, y, z;		\
    						\
    	/* declare temps & load data */		\
    	TEMP(LOAD);				\
    						\
    	/* do the 16 iterations */		\
    	ENCR(x,y,z,r, 0, 1,KEYMAP);		\
    	ENCR(y,x,z,r, 2, 3,KEYMAP);		\
    	ENCR(x,y,z,r, 4, 5,KEYMAP);		\
    	ENCR(y,x,z,r, 6, 7,KEYMAP);		\
    	ENCR(x,y,z,r, 8, 9,KEYMAP);		\
    	ENCR(y,x,z,r,10,11,KEYMAP);		\
    	ENCR(x,y,z,r,12,13,KEYMAP);		\
    	ENCR(y,x,z,r,14,15,KEYMAP);		\
    	ENCR(x,y,z,r,16,17,KEYMAP);		\
    	ENCR(y,x,z,r,18,19,KEYMAP);		\
    	ENCR(x,y,z,r,20,21,KEYMAP);		\
    	ENCR(y,x,z,r,22,23,KEYMAP);		\
    	ENCR(x,y,z,r,24,25,KEYMAP);		\
    	ENCR(y,x,z,r,26,27,KEYMAP);		\
    	ENCR(x,y,z,r,28,29,KEYMAP);		\
    	ENCR(y,x,z,r,30,31,KEYMAP);		\
    						\
    	/* save result */			\
    	SAVE();					\
    						\
    	return;					\
    }
    
    #define	DECRYPT(NAME, TEMP, LOAD, KEYMAP, SAVE)	\
    						\
    void						\
    NAME(REGISTER BYTE *D,				\
         REGISTER const uint32_t *r,		\
         REGISTER const uint8_t *s)			\
    {						\
    	register uint32_t x, y, z;		\
    						\
    	/* declare temps & load data */		\
    	TEMP(LOAD);				\
    						\
    	/* do the 16 iterations */		\
    	FIXR					\
    	DECR(x,y,z,r,31,30,KEYMAP);		\
    	DECR(y,x,z,r,29,28,KEYMAP);		\
    	DECR(x,y,z,r,27,26,KEYMAP);		\
    	DECR(y,x,z,r,25,24,KEYMAP);		\
    	DECR(x,y,z,r,23,22,KEYMAP);		\
    	DECR(y,x,z,r,21,20,KEYMAP);		\
    	DECR(x,y,z,r,19,18,KEYMAP);		\
    	DECR(y,x,z,r,17,16,KEYMAP);		\
    	DECR(x,y,z,r,15,14,KEYMAP);		\
    	DECR(y,x,z,r,13,12,KEYMAP);		\
    	DECR(x,y,z,r,11,10,KEYMAP);		\
    	DECR(y,x,z,r, 9, 8,KEYMAP);		\
    	DECR(x,y,z,r, 7, 6,KEYMAP);		\
    	DECR(y,x,z,r, 5, 4,KEYMAP);		\
    	DECR(x,y,z,r, 3, 2,KEYMAP);		\
    	DECR(y,x,z,r, 1, 0,KEYMAP);		\
    						\
    	/* save result */			\
    	SAVE();					\
    						\
    	return;					\
    }