Changeset 1f7631 in git for factory


Ignore:
Timestamp:
Feb 2, 2004, 7:04:09 PM (20 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
3a3666b959755cfa3e07e4e9d4353daa1bb4e0b6
Parents:
199b5cfd4b7ad03ef1d72b233900e94dbc4ef769
Message:
*hannes:/grayson: reallocBlock improved


git-svn-id: file:///usr/local/Singular/svn/trunk@7019 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • factory/memutil.c

    r199b5c r1f7631  
    11/* emacs edit mode for this file is -*- C -*- */
    2 /* $Id: memutil.c,v 1.3 1997-06-19 12:22:18 schmidt Exp $ */
     2/* $Id: memutil.c,v 1.4 2004-02-02 18:04:09 Singular Exp $ */
    33
    44#define _POSIX_SOURCE 1
     
    8989void* reallocBlock ( void* block, size_t oldsize, size_t newsize )
    9090{
    91     void* dummy = getBlock( newsize );
    92     memcpy( dummy, block, (newsize < oldsize) ? newsize : oldsize );
    93     freeBlock( block, oldsize );
    94     return dummy;
     91#if 1
     92  char* dum = (char*)block - 4;
     93  int size = *((int*)dum);
     94  if (newsize <= size) return block;
     95#endif
     96  void* dummy = getBlock( newsize );
     97  memcpy( dummy, block, newsize < oldsize ? newsize : oldsize );
     98  freeBlock( block, oldsize );
     99  return dummy;
    95100}
Note: See TracChangeset for help on using the changeset viewer.