Skip to content
Snippets Groups Projects
Select Git revision
  • 1e4e5f91be15dc159547478dc594e3c8ec2fadd3
  • master default protected
  • 8.0
  • nt-tools
  • 9.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
  • rosuav/async-annotations
  • rosuav/pgsql-ssl
  • rxnpatch/rxnpatch-broken/2023-10-06T094250
  • grubba/fdlib
  • grubba/wip/sakura/8.0
  • 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
  • v8.0.1982
41 results

object.h

Blame
    • Fredrik Hübinette (Hubbe)'s avatar
      1e4e5f91
      major improvements for DMALLOC · 1e4e5f91
      Fredrik Hübinette (Hubbe) authored
      Rev: src/dmalloc.h:1.24
      Rev: src/encode.c:1.58
      Rev: src/gc.c:1.53
      Rev: src/gc.h:1.24
      Rev: src/interpret.c:1.139
      Rev: src/interpret.h:1.40
      Rev: src/language.yacc:1.179
      Rev: src/object.c:1.99
      Rev: src/object.h:1.40
      Rev: src/pike_memory.c:1.63
      Rev: src/program.c:1.223
      Rev: src/program.h:1.86
      Rev: src/svalue.c:1.65
      Rev: src/svalue.h:1.49
      1e4e5f91
      History
      major improvements for DMALLOC
      Fredrik Hübinette (Hubbe) authored
      Rev: src/dmalloc.h:1.24
      Rev: src/encode.c:1.58
      Rev: src/gc.c:1.53
      Rev: src/gc.h:1.24
      Rev: src/interpret.c:1.139
      Rev: src/interpret.h:1.40
      Rev: src/language.yacc:1.179
      Rev: src/object.c:1.99
      Rev: src/object.h:1.40
      Rev: src/pike_memory.c:1.63
      Rev: src/program.c:1.223
      Rev: src/program.h:1.86
      Rev: src/svalue.c:1.65
      Rev: src/svalue.h:1.49
    pike_memory.h 1.44 KiB
    /*\
    ||| This file a part of Pike, and is copyright by Fredrik Hubinette
    ||| Pike is distributed as GPL (General Public License)
    ||| See the files COPYING and DISCLAIMER for more information.
    \*/
    
    /*
     * $Id: pike_memory.h,v 1.4 1998/03/28 15:05:02 grubba Exp $
     */
    #ifndef MEMORY_H
    #define MEMORY_H
    
    #include "global.h"
    
    #define MEMSEARCH_LINKS 512
    
    struct link
    {
      struct link *next;
      INT32 key, offset;
    };
    
    enum methods {
      no_search,
      use_memchr,
      memchr_and_memcmp,
      hubbe_search
    };
    
    struct mem_searcher
    {
      enum methods method;
      char *needle;
      SIZE_T needlelen;
      unsigned INT32 hsize, max;
      struct link links[MEMSEARCH_LINKS];
      struct link *set[MEMSEARCH_LINKS];
    };
    
    /* Prototypes begin here */
    extern char *debug_xalloc(long);
    void swap(char *a, char *b, INT32 size);
    void reverse(char *memory, INT32 nitems, INT32 size);
    void reorder(char *memory, INT32 nitems, INT32 size,INT32 *order);
    unsigned INT32 hashmem(const unsigned char *a,INT32 len,INT32 mlen);
    unsigned INT32 hashstr(const unsigned char *str,INT32 maxn);
    void init_memsearch(struct mem_searcher *s,
    		    char *needle,
    		    SIZE_T needlelen,
    		    SIZE_T max_haystacklen);
    char *memory_search(struct mem_searcher *s,
    		    char *haystack,
    		    SIZE_T haystacklen);
    char *my_memmem(char *needle,
    		SIZE_T needlelen,
    		char *haystack,
    		SIZE_T haystacklen);
    void memfill(char *to,
    	     INT32 tolen,
    	     char *from,
    	     INT32 fromlen,
    	     INT32 offset);
    /* Prototypes end here */
    
    #endif