diff --git a/rust/gen-c-headers.py b/rust/gen-c-headers.py index f965105b71..c7af8f5c27 100755 --- a/rust/gen-c-headers.py +++ b/rust/gen-c-headers.py @@ -161,16 +161,16 @@ def gen_headers(filename): writer = StringIO() for fn in re.findall( - r"^pub extern \"C\" fn ([A_Za-z0-9_]+)\(([^{]+)?\)" + r"^pub (unsafe )?extern \"C\" fn ([A_Za-z0-9_]+)\(([^{]+)?\)" r"(\s+-> ([^{]+))?", buf, re.M | re.DOTALL): args = [] - fnName = fn[0] + fnName = fn[1] - for arg in fn[1].split(","): + for arg in fn[2].split(","): if not arg: continue arg_name, rs_type = arg.split(":", 1) @@ -186,7 +186,7 @@ def gen_headers(filename): if not args: args.append("void") - retType = fn[3].strip() + retType = fn[4].strip() if retType == "": returns = "void" else: