Changeset 393249 in git
- Timestamp:
- Jun 30, 1999, 4:54:11 PM (24 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 393d6becf0c8aa83ac7f4b2e9532908880829e72
- Parents:
- bc4605bbb4d385f31d7d577505aff5628d795356
- Location:
- Singular
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/gmalloc.c
rbc4605 r393249 16 16 #if 1 17 17 18 18 #define __USE_XOPEN 19 #define __USE_XOPEN_EXTENDED 19 20 #define _MALLOC_INTERNAL 20 21 -
Singular/mmcheck.c
rbc4605 r393249 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: mmcheck.c,v 1. 6 1999-03-19 17:42:29 obachmanExp $ */4 /* $Id: mmcheck.c,v 1.7 1999-06-30 14:54:11 Singular Exp $ */ 5 5 6 6 /* … … 82 82 { 83 83 DBMCB *what = (DBMCB*) (((char*) pages) + SIZE_OF_HEAP_PAGE_HEADER); 84 84 85 85 for (i=0; i<nblocks; i++) 86 86 { … … 97 97 DBMCB* prev = NULL; 98 98 size_t size = SizeFromRealSize(heap->size); 99 99 100 100 if (mm_minAddr == 0 || mm_minAddr > (void*) what) 101 101 mm_minAddr = (void*) what; … … 103 103 while (what != NULL) 104 104 { 105 mmFillDBMCB(what, size, heap, MM_FREEFLAG, __FILE__, __LINE__); 105 mmFillDBMCB(what, size, heap, MM_FREEFLAG, __FILE__, __LINE__); 106 106 mmMoveDBMCBInto(&mm_theDBfree, what); 107 107 prev = what; 108 108 what = *((void**) what); 109 109 } 110 110 111 111 if (mm_maxAddr == 0 || mm_maxAddr < (void*) prev) 112 112 mm_maxAddr = (void*) prev; … … 116 116 { 117 117 (void)fprintf( stderr, "warning: %s\n", msg ); 118 (void)fprintf( stderr, "block % x %s in: %s:%d",119 ( int)&(what->data),118 (void)fprintf( stderr, "block %lx %s in: %s:%d", 119 (long)&(what->data), 120 120 (what->flags & MM_FREEFLAG ? "freed" : "allocated" ), 121 121 what->fname, what->lineno ); … … 124 124 #else 125 125 fprintf( stderr,"\n"); 126 #endif 126 #endif 127 127 if (strcmp(msg,"size")==0) 128 128 (void)fprintf( stderr, "size is: %d, but check said %d \n", … … 145 145 } 146 146 } 147 147 148 148 void mmPrintFL( const char* fname, const int lineno ) 149 149 { … … 162 162 #define MM_BACK_PATTERN 249 163 163 164 void mmFillDBMCB(DBMCB* what, size_t size, memHeap heap, 164 void mmFillDBMCB(DBMCB* what, size_t size, memHeap heap, 165 165 int flags, char* fname, int lineno) 166 166 { … … 173 173 what->flags = flags; 174 174 what->init = 0; 175 175 176 176 if (flags & MM_FREEFLAG) 177 177 memset(addr, MM_FREE_PATTERN, size); … … 200 200 { 201 201 int i; 202 202 203 203 for (i = 0; i<size; i++) 204 204 if (ptr[i] != pattern) return 0; … … 215 215 int ok=1; 216 216 217 if ( (( int)what % 4 ) != 0 )217 if ( ((long)what % 4 ) != 0 ) 218 218 { 219 219 fprintf( stderr, "warning: odd address\n" ); … … 239 239 return 0; 240 240 } 241 241 242 242 if ( ((long)what->fname<1000) 243 243 #ifdef unix 244 ||((long)what->fname>( int)&(_end))244 ||((long)what->fname>(long)&(_end)) 245 245 #endif 246 246 ) … … 296 296 MM_NUMBER_OF_FRONT_PATTERNS)) 297 297 return mmPrintDBMCB(what , "front pattern", 0); 298 if ((what->flags & MM_FREEFLAG) && 298 if ((what->flags & MM_FREEFLAG) && 299 299 ! mmCheckPattern((char*)&(what->data), MM_FREE_PATTERN, 0)) 300 300 return mmPrintDBMCB(what, "free pattern", 0); 301 if (! mmCheckPattern((char*) &(what->data) + size, 301 if (! mmCheckPattern((char*) &(what->data) + size, 302 302 MM_BACK_PATTERN, DebugOffsetBack)) 303 303 return mmPrintDBMCB(what, "back pattern", 0); … … 371 371 return 1; 372 372 } 373 373 374 374 static int mmIsAddrOnDList(DBMCB *what, DBMCB* list, int s) 375 375 { … … 396 396 return mmPrintDBMCB(what, "Used flag but not in used list", 0); 397 397 } 398 398 399 399 if ( mmIsAddrOnDList((void*) what, mm_theDBfree.next, 400 400 (void*) &(mm_theDBfree.next) - … … 411 411 return 1; 412 412 } 413 413 414 414 int mmCheckDBMCB ( DBMCB * what, int size , int flags) 415 415 { … … 420 420 421 421 if (mm_MDEBUG > 1 && ! mmTestMemory()) return 0; 422 422 423 423 if (mm_MDEBUG > 0 && ! mmCheckListContainment(what, flags)) return 0; 424 424 … … 437 437 DBMCB * what; 438 438 439 if ( adr == NULL || size == 0) 439 if ( adr == NULL || size == 0) 440 440 return TRUE; 441 441 … … 445 445 return FALSE; 446 446 } 447 447 448 448 what = (DBMCB*)((char*)(adr) - DebugOffsetFront); 449 449 … … 476 476 fname, lineno); 477 477 } 478 479 BOOLEAN mmDBTestBlock(const void* adr, const size_t size, 478 479 BOOLEAN mmDBTestBlock(const void* adr, const size_t size, 480 480 const char * fname, const int lineno) 481 481 { 482 482 int i; 483 483 DBMCB * what; 484 484 485 485 if ( ( adr == NULL ) || ( size == 0 ) ) return TRUE; 486 486 … … 489 489 { 490 490 what = (DBMCB*)((char*)(adr) - DebugOffsetFront); 491 if ( ! mmCheckDBMCB( what, size, MM_USEDFLAG) ) 491 if ( ! mmCheckDBMCB( what, size, MM_USEDFLAG) ) 492 492 { 493 493 mmPrintFL( fname, lineno ); … … 510 510 adr = (size_t*)adr-1; 511 511 #ifdef ALIGN_8 512 l= (adr<=mm_maxAddr) ? (*(size_t*)(( int)adr&(~7))) :0;512 l= (adr<=mm_maxAddr) ? (*(size_t*)((long)adr&(~((long)7)))) :0; 513 513 #else 514 l= (adr<=mm_maxAddr) ? (*(size_t*)(( int)adr&(~3))) :0;514 l= (adr<=mm_maxAddr) ? (*(size_t*)((long)adr&(~((long)3)))) :0; 515 515 #endif 516 516 return mmDBTestBlock( adr,l, fname, lineno );
Note: See TracChangeset
for help on using the changeset viewer.