author | drw <drw> | 2003-04-29 02:28:16 (UTC) |
---|---|---|
committer | drw <drw> | 2003-04-29 02:28:16 (UTC) |
commit | e096c9d1f2be1ec74ede583fc4221871a56ef508 (patch) (side-by-side diff) | |
tree | 1c6f49430179e2f262179951477bbe4bd7d32e71 /noncore/settings/aqpkg/mem.cpp | |
parent | 2f26f696ca6acd05aa615e15d891eede9907a1c0 (diff) | |
download | opie-e096c9d1f2be1ec74ede583fc4221871a56ef508.zip opie-e096c9d1f2be1ec74ede583fc4221871a56ef508.tar.gz opie-e096c9d1f2be1ec74ede583fc4221871a56ef508.tar.bz2 |
Give aqpkg standard source headers and some minor code clean-up.
Diffstat (limited to 'noncore/settings/aqpkg/mem.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/aqpkg/mem.cpp | 216 |
1 files changed, 110 insertions, 106 deletions
diff --git a/noncore/settings/aqpkg/mem.cpp b/noncore/settings/aqpkg/mem.cpp index 405aada..5f32a26 100644 --- a/noncore/settings/aqpkg/mem.cpp +++ b/noncore/settings/aqpkg/mem.cpp @@ -1,106 +1,110 @@ -/***************************************************************************
- mem.h - description
- -------------------
- begin : Mon Aug 26 2002
- copyright : (C) 2002 by Andy Qua
- email : andy.qua@blueyonder.co.uk
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-#include <stdio.h>
-#include <fstream>
-#include <iostream>
-#include <list>
-using namespace std;
-
-#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);
-}
-
-void operator delete(void *p)
-{
- RemoveTrack((long)p);
- free(p);
-}
-
-#endif
-
-
-typedef struct {
- long address;
- long size;
- char file[64];
- long line;
-} ALLOC_INFO;
-
-typedef list<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;
-
- 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;
- long totalSize = 0;
- char buf[1024];
-
-
-// if(!allocList)
-// return;
-
- 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);
- cout <<buf << endl;
- totalSize += (*i)->size;
- }
- sprintf(buf, "-----------------------------------------------------------\n");
- cout <<buf << endl;
- sprintf(buf, "Total Unfreed: %ld bytes\n", totalSize);
- cout <<buf << endl;
-};
+/* + This file is part of the OPIE Project + + =. Copyright (c) 2002 Andy Qua <andy.qua@blueyonder.co.uk> + .=l. Dan Williams <drw@handhelds.org> + .>+-= + _;:, .> :=|. This file is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU General Public +.="- .-=="i, .._ License as published by the Free Software + - . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -<s. This file is distributed in the hope that + + . -:. = it will be useful, but WITHOUT ANY WARRANTY; + : .. .:, . . . without even the implied warranty of + =_ + =;=|` MERCHANTABILITY or FITNESS FOR A + _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General +..}^=.= = ; 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; + +#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); +} + +void operator delete(void *p) +{ + RemoveTrack((long)p); + free(p); +} + +#endif + + +typedef struct { + long address; + long size; + char file[64]; + long line; +} ALLOC_INFO; + +typedef list<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; + + 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; + long totalSize = 0; + char buf[1024]; + + 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); +}; |