X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=dispatch.py;h=701e8206ac86f96aa81177e067146bbcd09db81b;hb=c5b741c83e804f1e438caca83565a76e254d0b94;hp=052a5596fe2f9ac6789330b05df05b5caaf4daad;hpb=1598cd42f578d724a63787eda25d224398b40fc9;p=apitrace diff --git a/dispatch.py b/dispatch.py index 052a559..701e820 100644 --- a/dispatch.py +++ b/dispatch.py @@ -78,6 +78,7 @@ class Dispatcher: print 'static %s %s = NULL;' % (ptype, pvalue) print print 'static inline ' + function.prototype('__' + function.name) + ' {' + print ' const char *__name = "%s";' % function.name if function.type is stdapi.Void: ret = '' else: @@ -101,22 +102,23 @@ class Dispatcher: else: get_proc_address = '__getPrivateProcAddress' print ' if (!%s) {' % (pvalue,) - print ' %s = (%s)%s("%s");' % (pvalue, ptype, get_proc_address, function.name) + print ' %s = (%s)%s(__name);' % (pvalue, ptype, get_proc_address) print ' if (!%s) {' % (pvalue,) self.fail_function(function) print ' }' print ' }' def fail_function(self, function): - print ' OS::DebugMessage("error: unavailable function \\"%s\\"\\n");' % function.name - if function.fail is not None: + if function.type is stdapi.Void or function.fail is not None: + print r' OS::DebugMessage("warning: ignoring call to unavailable function %s\n", __name);' if function.type is stdapi.Void: - assert function.fail == '' + assert function.fail is None print ' return;' else: - assert function.fail != '' + assert function.fail is not None print ' return %s;' % function.fail else: - print ' OS::Abort();' + print r' OS::DebugMessage("error: unavailable function %s\n", __name);' + print r' OS::Abort();'