From d8db6e6030eaa243cec50413dd72fb32bb4ada66 Mon Sep 17 00:00:00 2001 From: Joe Hoyle Date: Mon, 6 Feb 2023 10:46:48 +0200 Subject: [PATCH] Pass args to startup function Currently the startup function macro will wrap the function body in an `intneral()` function, which has no params. This makes it impossible to acess the `ty` and `module_number` values that PHP passes to the startup function. --- crates/macros/src/startup_function.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/macros/src/startup_function.rs b/crates/macros/src/startup_function.rs index 76b987780f..294d7ada3a 100644 --- a/crates/macros/src/startup_function.rs +++ b/crates/macros/src/startup_function.rs @@ -32,9 +32,9 @@ pub fn parser(args: Option, input: ItemFn) -> Result let classes = build_classes(&state.classes)?; let constants = build_constants(&state.constants); let (before, after) = if args.before { - (Some(quote! { internal(); }), None) + (Some(quote! { internal(ty, module_number); }), None) } else { - (None, Some(quote! { internal(); })) + (None, Some(quote! { internal(ty, module_number); })) }; let func = quote! { @@ -43,7 +43,7 @@ pub fn parser(args: Option, input: ItemFn) -> Result use ::ext_php_rs::constant::IntoConst; use ::ext_php_rs::flags::PropertyFlags; - fn internal() { + fn internal(ty: i32, module_number: i32) { #(#stmts)* }