summaryrefslogtreecommitdiff
path: root/noncore/settings/aqpkg/mem.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/aqpkg/mem.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/aqpkg/mem.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/noncore/settings/aqpkg/mem.cpp b/noncore/settings/aqpkg/mem.cpp
index 4c6117b..d8de09f 100644
--- a/noncore/settings/aqpkg/mem.cpp
+++ b/noncore/settings/aqpkg/mem.cpp
@@ -19,26 +19,28 @@
..}^=.=       =       ; Public License for more details.
++=   -.     .`     .:
 :     =  ...= . :.=- You should have received a copy of the GNU
 -.   .:....=;==+<; General Public License along with this file;
  -_. . .   )=.  = see the file COPYING. If not, write to the
    --        :-=` Free Software Foundation, Inc.,
59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <stdio.h>
-#include <list>
-using namespace std;
+#include <stdlib.h>
+#include <string.h>
+
+#include <qvaluelist.h>
#define __MEMFILE_C
#include "global.h"
#ifdef _DEBUG
void __cdecl *operator new( unsigned int size, const char *file, int line )
{
void *ptr = (void *)malloc(size);
AddTrack((long)ptr, size, file, line);
return(ptr);
}
@@ -50,61 +52,61 @@ void operator delete(void *p)
}
#endif
typedef struct {
long address;
long size;
char file[64];
long line;
} ALLOC_INFO;
-typedef list<ALLOC_INFO*> AllocList;
+typedef QValueList<ALLOC_INFO*> AllocList;
AllocList allocList;
void AddTrack(long addr, long asize, const char *fname, long lnum)
{
ALLOC_INFO *info;
info = (ALLOC_INFO *)malloc(sizeof( ALLOC_INFO ));
info->address = addr;
strncpy(info->file, fname, 63);
info->line = lnum;
info->size = asize;
allocList.insert(allocList.begin(), info);
};
void RemoveTrack(long addr)
{
- AllocList::iterator i;
+ AllocList::Iterator i;
bool found = false;
for(i = allocList.begin(); i != allocList.end(); i++)
{
if((*i)->address == addr)
{
allocList.remove((*i));
found = true;
break;
}
}
}
void DumpUnfreed()
{
- AllocList::iterator i;
+ AllocList::Iterator i;
long totalSize = 0;
char buf[1024];
// Debug output, okay to leave untranslated
for(i = allocList.begin(); i != allocList.end(); i++) {
sprintf(buf, "%-15s: LINE %ld, ADDRESS %ld %ld unfreed",
(*i)->file, (*i)->line, (*i)->address, (*i)->size);
totalSize += (*i)->size;
}
sprintf(buf, "-----------------------------------------------------------\n");
sprintf(buf, "Total Unfreed: %ld bytes\n", totalSize);
};