File tree Expand file tree Collapse file tree 1 file changed +3
-1
lines changed
Expand file tree Collapse file tree 1 file changed +3
-1
lines changed Original file line number Diff line number Diff line change @@ -191,7 +191,9 @@ pub fn janet_fn(args: TokenStream, input: TokenStream) -> TokenStream {
191191 #[ allow( non_upper_case_globals) ]
192192 const #name_line_: u32 = :: core:: line!( ) + 1 ;
193193 #( #attrs) * #[ no_mangle] #vis unsafe extern "C-unwind" fn #name_c_fn( argc: i32 , argv: * mut :: janetrs:: lowlevel:: Janet ) -> :: janetrs:: lowlevel:: Janet {
194- let args = unsafe { core:: slice:: from_raw_parts_mut( argv, argc as usize ) } ;
194+ // Avoid argv invalidation if the rust function call janet_call
195+ let argv2 = :: evil_janet:: janet_tuple_n( argv, argc) ;
196+ let args = unsafe { :: core:: slice:: from_raw_parts_mut( argv, argc as usize ) } ;
195197 let mut args = unsafe { & mut * ( args as * mut [ :: janetrs:: lowlevel:: Janet ] as * mut [ :: janetrs:: Janet ] ) } ;
196198
197199 #( #extra) *
You can’t perform that action at this time.
0 commit comments