author | mickeyl <mickeyl> | 2003-11-08 20:39:38 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-11-08 20:39:38 (UTC) |
commit | eb26b0413c269b898a24deb30d5602ac0c142a56 (patch) (side-by-side diff) | |
tree | 4e9b24ce6a9e8811eb9e62d8537b452921d4564d /libopie2/tools/regen.py | |
parent | 33d86bb19d4e21b95504ba3b16789d08b4820313 (diff) | |
download | opie-eb26b0413c269b898a24deb30d5602ac0c142a56.zip opie-eb26b0413c269b898a24deb30d5602ac0c142a56.tar.gz opie-eb26b0413c269b898a24deb30d5602ac0c142a56.tar.bz2 |
refactor the debug mapper and make it more secure
-rwxr-xr-x | libopie2/tools/regen.py | 52 |
1 files changed, 41 insertions, 11 deletions
diff --git a/libopie2/tools/regen.py b/libopie2/tools/regen.py index 2f7f418..9ad5352 100755 --- a/libopie2/tools/regen.py +++ b/libopie2/tools/regen.py @@ -19,46 +19,76 @@ except: tablecfile = sys.stdout print >>tablehfile,""" /* - * ioctl table - generated by regen.py - (C) Michael 'Mickey' Lauer <mickey@vanille.de> + * debug value mapper - generated by regen.py - (C) Michael 'Mickey' Lauer <mickey@vanille.de> */ -#ifndef IOCTLMAP_H -#define IOCTLMAP_H +#ifndef DEBUGMAPPER_H +#define DEBUGMAPPER_H #include <qstring.h> #include <qintdict.h> typedef QIntDict<QString> IntStringMap; -IntStringMap* constructIoctlMap(); +class DebugMapper +{ + public: + DebugMapper(); + ~DebugMapper(); + + const QString& map( int value ) const; + private: + IntStringMap _map; +}; #endif """ print >>tablecfile,""" /* - * ioctl table - generated by regen.py - (C) Michael 'Mickey' Lauer <mickey@vanille.de> + * debug value mapper - generated by regen.py - (C) Michael 'Mickey' Lauer <mickey@vanille.de> */ #include "%s" -IntStringMap* constructIoctlMap() +DebugMapper::DebugMapper() { -\tIntStringMap* map = new IntStringMap(); + qDebug( "DebugMapper::DebugMapper()" ); """ % (tablehfile.name) for line in result: l = line.split() if not l[0].startswith( "#define" ) or not l[2].startswith( "0x" ): print >>sys.stderr, "can't parse line: %s" % l continue - #print >>tablecfile, "\tqDebug( \"adding %s = %s\" );" % ( l[2], l[1] ) - print >>tablecfile, "\tmap->insert( %s, new QString(\"%s\") );" % ( l[2], l[1] ) + print >>tablecfile, " _map.insert( %s, new QString(\"%s\") );" % ( l[2], l[1] ) print >>tablecfile,""" -\treturn map; }; -"""
\ No newline at end of file + + +DebugMapper::~DebugMapper() +{ + qDebug( "DebugMapper::~DebugMapper()" ); +} + + +const QString& DebugMapper::map( int value ) const +{ + QString* result = _map[ value ]; + + if ( !result ) + { + qDebug( "DebugMapper::map() - value not found." ); + return QString::null; + } + else + { + return *result; + } +} + +""" |