@@ -6,7 +6,7 @@ use proc_macro2::{Ident, Span};
6
6
use quote:: quote;
7
7
use syn:: punctuated:: Punctuated ;
8
8
use syn:: token:: Comma ;
9
- use syn:: { parse_macro_input, parse_str, FnArg , ItemFn } ;
9
+ use syn:: { parse_macro_input, parse_str, FnArg , ItemFn , NestedMeta , AttributeArgs , Meta } ;
10
10
11
11
#[ proc_macro_attribute]
12
12
pub fn php_function ( _attr : TokenStream , input : TokenStream ) -> TokenStream {
@@ -50,6 +50,13 @@ pub fn php_minit_function(_attr: TokenStream, input: TokenStream) -> TokenStream
50
50
#[ no_mangle]
51
51
#( #attrs) *
52
52
pub extern "C" fn #name( #inputs) -> :: std:: os:: raw:: c_int {
53
+ unsafe {
54
+ :: phper_sys:: zend_register_ini_entries(
55
+ INI_ENTRIES . with( |i| i. as_ptr( ) as * const :: phper_sys:: zend_ini_entry_def) ,
56
+ module_number
57
+ ) ;
58
+ }
59
+
53
60
let f = |#inner_inputs| #ret {
54
61
#body
55
62
} ;
@@ -80,6 +87,10 @@ pub fn php_mshutdown_function(_attr: TokenStream, input: TokenStream) -> TokenSt
80
87
#[ no_mangle]
81
88
#( #attrs) *
82
89
pub extern "C" fn #name( #inputs) -> :: std:: os:: raw:: c_int {
90
+ unsafe {
91
+ :: phper_sys:: zend_unregister_ini_entries( module_number) ;
92
+ }
93
+
83
94
let f = |#inner_inputs| #ret {
84
95
#body
85
96
} ;
@@ -180,6 +191,11 @@ pub fn php_minfo_function(_attr: TokenStream, input: TokenStream) -> TokenStream
180
191
result. into ( )
181
192
}
182
193
194
+ //#[proc_macro_attribute]
195
+ //pub fn php_ini(_attr: TokenStream, input: TokenStream) -> TokenStream {
196
+ // input
197
+ //}
198
+
183
199
fn internal_function_parameters ( inputs : & mut Punctuated < FnArg , Comma > ) {
184
200
inputs. push ( parse_str ( "execute_data: *mut ::phper_sys::zend_execute_data" ) . unwrap ( ) ) ;
185
201
inputs. push ( parse_str ( "return_value: *mut ::phper_sys::zval" ) . unwrap ( ) ) ;
0 commit comments