summaryrefslogtreecommitdiff
path: root/trace.py
diff options
context:
space:
mode:
authorJosé Fonseca <jose.r.fonseca@gmail.com>2011-11-11 20:12:15 +0000
committerJosé Fonseca <jose.r.fonseca@gmail.com>2011-11-11 20:14:05 +0000
commit38c932b18ad60176980f0c99f202c610757c000a (patch)
treea0705c086f3e6f62da9b3d36c63aa3de69ad920f /trace.py
parent03c5d3d41dc219051cbbb8b84ea505e15ff433c4 (diff)
Warn for QueryInterface with unknown IIDs.
Diffstat (limited to 'trace.py')
-rw-r--r--trace.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/trace.py b/trace.py
index ee27653..4e9a28d 100644
--- a/trace.py
+++ b/trace.py
@@ -459,9 +459,21 @@ class Tracer:
print ' *ppvObj = this;'
print ' }'
for iface in self.api.interfaces:
- print ' else if (riid == IID_%s) {' % iface.name
- print ' *ppvObj = new Wrap%s((%s *) *ppvObj);' % (iface.name, iface.name)
- print ' }'
+ print r' else if (riid == IID_%s) {' % iface.name
+ print r' *ppvObj = new Wrap%s((%s *) *ppvObj);' % (iface.name, iface.name)
+ print r' }'
+ print r' else {'
+ print r' os::log("apitrace: warning: unknown REFIID {0x%08lX,0x%04X,0x%04X,{0x%02X,0x%02X,0x%02X,0x%02X,0x%02X,0x%02X,0x%02X,0x%02X}}\n",'
+ print r' riid.Data1, riid.Data2, riid.Data3,'
+ print r' riid.Data4[0],'
+ print r' riid.Data4[1],'
+ print r' riid.Data4[2],'
+ print r' riid.Data4[3],'
+ print r' riid.Data4[4],'
+ print r' riid.Data4[5],'
+ print r' riid.Data4[6],'
+ print r' riid.Data4[7]);'
+ print r' }'
print ' }'
if method.name == 'Release':
assert method.type is not stdapi.Void