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:
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();'