Uh, Updates?

This commit is contained in:
Michael Fabian Dirks
2016-10-03 17:11:15 +02:00
parent aa3cf453e5
commit 581c640149
62 changed files with 469 additions and 489 deletions
+4 -4
View File
@@ -46,7 +46,7 @@ static void check(Mem *m) {
MessageBox(GetDesktopWindow(), "mem_check: pre_tag!='DNEW'", "Memory error", MB_OK | MB_ICONWARNING);
if (m->tag == 'NDWE') {
string t = "Probable double delete";
t += "- d_new file: " + string(m->file) + " line:" + itoa(m->line);
t += "- new file: " + string(m->file) + " line:" + itoa(m->line);
MessageBox(GetDesktopWindow(), t.c_str(), "Memory error", MB_OK | MB_ICONWARNING);
}
ExitProcess(0);
@@ -54,7 +54,7 @@ static void check(Mem *m) {
int *t = (int*)((char*)(m + 1) + m->size);
if (*t != 'dnew') {
MessageBox(GetDesktopWindow(), "mem_check: post_tag!='dnew'", "Memory error", MB_OK | MB_ICONWARNING);
string t = "Probable memory overwrite - d_new file: " + string(m->file) + " line:" + itoa(m->line);
string t = "Probable memory overwrite - new file: " + string(m->file) + " line:" + itoa(m->line);
MessageBox(GetDesktopWindow(), t.c_str(), "Memory error", MB_OK | MB_ICONWARNING);
ExitProcess(0);
}
@@ -317,7 +317,7 @@ string filenamefile(const string &t) {
const int MIN_SIZE = 256;
qstreambuf::qstreambuf() {
buf = d_new char[MIN_SIZE];
buf = new char[MIN_SIZE];
setg(buf, buf, buf);
setp(buf, buf, buf + MIN_SIZE);
}
@@ -349,7 +349,7 @@ qstreambuf::int_type qstreambuf::overflow(qstreambuf::int_type c) {
if (pptr() == epptr()) {
int sz = size();
int n_sz = sz * 2; if (n_sz < MIN_SIZE) n_sz = MIN_SIZE;
char *n_buf = d_new char[n_sz];
char *n_buf = new char[n_sz];
memcpy(n_buf, gptr(), sz);
delete buf; buf = n_buf;
setg(buf, buf, buf + sz);
+2 -20
View File
@@ -9,24 +9,6 @@
#include <string>
#include <iostream>
#ifdef MEMDEBUG
void * _cdecl operator new( size_t size );
void * _cdecl operator new[]( size_t size );
void * _cdecl operator new( size_t size,const char *file,int line );
void * _cdecl operator new[]( size_t size,const char *file,int line );
void _cdecl operator delete( void *q );
void _cdecl operator delete[]( void *q );
void _cdecl operator delete( void *q,const char *file,int line );
void _cdecl operator delete[]( void *q,const char *file,int line );
#define d_new new( __FILE__,__LINE__ )
#else
#define d_new new
#endif
void trackmem( bool enable );
void checkmem( std::ostream &out );
@@ -87,9 +69,9 @@ public:
pool():free(0){}
pointer allocate( size_type n,const void *){
clog<<"Allocating "<<n<<endl;
if( n>1 ) return d_new T[n];
if( n>1 ) return new T[n];
if( !free ){
free=(T*)d_new char[sizeof(T)*N];
free=(T*)new char[sizeof(T)*N];
for( int k=0;k<N-1;++k ) *(T**)(free+k)=free+k+1;
*(T**)(free+N-1)=0;
}