From: Volker Lendecke Date: Fri, 30 Jan 2026 11:20:48 +0000 (+0100) Subject: python: Simplify py_hresult.c X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=59c1531e1ba03c5382deb0a8196653a19773a95c;p=thirdparty%2Fsamba.git python: Simplify py_hresult.c CFLAGS=-Og did not finish this file. Also, this makes the file a few hundred kilobytes smaller Signed-off-by: Volker Lendecke Reviewed-by: Anoop C S --- diff --git a/source4/scripting/bin/gen_hresult.py b/source4/scripting/bin/gen_hresult.py index dec0adf11be..1b41f87ca12 100755 --- a/source4/scripting/bin/gen_hresult.py +++ b/source4/scripting/bin/gen_hresult.py @@ -140,24 +140,21 @@ def generatePythonFile(out_file, errors): out_file.write("\t.m_name = \"hresult\",\n") out_file.write("\t.m_doc = \"HRESULT defines\",\n") out_file.write("\t.m_size = -1,\n") - out_file.write("\t};\n\n") + out_file.write("};\n\n") + out_file.write("static void py_addstr(PyObject *m, HRESULT err, const char *name)\n"); + out_file.write("{\n"); + out_file.write("\tPyObject *num = PyLong_FromUnsignedLongLong(HRES_ERROR_V(err));\n"); + out_file.write("\tPyModule_AddObject(m, name, num);\n"); + out_file.write("}\n\n"); out_file.write("MODULE_INIT_FUNC(hresult)\n") out_file.write("{\n") out_file.write("\tPyObject *m = NULL;\n") - out_file.write("\tPyObject *py_obj = NULL;\n") - out_file.write("\tint ret;\n\n") out_file.write("\tm = PyModule_Create(&moduledef);\n") out_file.write("\tif (m == NULL) {\n") out_file.write("\t\treturn NULL;\n") out_file.write("\t}\n\n") for err in errors: - out_file.write(f"\tpy_obj = PyLong_FromUnsignedLongLong(HRES_ERROR_V({err.err_define}));\n") - out_file.write(f"\tret = PyModule_AddObject(m, \"{err.err_define}\", py_obj);\n") - out_file.write("\tif (ret) {\n") - out_file.write("\t\tPy_XDECREF(py_obj);\n") - out_file.write("\t\tPy_DECREF(m);\n") - out_file.write("\t\treturn NULL;\n") - out_file.write("\t}\n") + out_file.write(f"\tpy_addstr(m, {err.err_define}, \"{err.err_define}\");\n") out_file.write("\n") out_file.write("\treturn m;\n") out_file.write("}\n")