xgl-generate.py: add generate_get_proc_addr_check()
Generate
if (!pName || pName[0] != 'x' || pName[1] != 'g' || pName[2] != 'l')
return NULL;
for use in xglGetProcAddr().
diff --git a/xgl-generate.py b/xgl-generate.py
index e8d461c..eecf71b 100755
--- a/xgl-generate.py
+++ b/xgl-generate.py
@@ -29,6 +29,10 @@
import xgl
+def generate_get_proc_addr_check(name):
+ return " if (!%s || %s[0] != 'x' || %s[1] != 'g' || %s[2] != 'l')\n" \
+ " return NULL;" % ((name,) * 4)
+
class Subcommand(object):
def __init__(self, argv):
self.argv = argv
@@ -236,8 +240,7 @@
func.append("%s const char *name)"
% (" " * len(self.prefix)))
func.append("{")
- func.append(" if (!name || name[0] != 'x' || name[1] != 'g' || name[2] != 'l')")
- func.append(" return NULL;")
+ func.append(generate_get_proc_addr_check("name"))
func.append("")
func.append(" name += 3;")
func.append(" %s" % "\n ".join(lookups))
@@ -308,9 +311,7 @@
body = []
body.append("%s %s" % (self.qual, gpa_decl))
body.append("{")
- body.append(" if (!%s || %s[0] != 'x' || %s[1] != 'g' || %s[2] != 'l')" %
- (gpa_pname, gpa_pname, gpa_pname, gpa_pname))
- body.append(" return NULL;")
+ body.append(generate_get_proc_addr_check(gpa_pname))
body.append("")
body.append(" %s += 3;" % gpa_pname)
body.append(" %s" % "\n ".join(lookups))