git.delta.rocks / jrsonnet / refs/commits / bc97bc99f5fd

difftreelog

source

bindings/jsonnet/src/vars_tlas.rs1.3 KiBsourcehistory
1//! Manipulate external variables and top level arguments23use jrsonnet_evaluator::EvaluationState;4use std::{ffi::CStr, os::raw::c_char};56/// # Safety7#[no_mangle]8pub unsafe extern "C" fn jsonnet_ext_var(9	vm: &EvaluationState,10	name: *const c_char,11	value: *const c_char,12) {13	let name = CStr::from_ptr(name);14	let value = CStr::from_ptr(value);15	vm.add_ext_str(16		name.to_str().unwrap().into(),17		value.to_str().unwrap().into(),18	)19}2021/// # Safety22#[no_mangle]23pub unsafe extern "C" fn jsonnet_ext_code(24	vm: &EvaluationState,25	name: *const c_char,26	value: *const c_char,27) {28	let name = CStr::from_ptr(name);29	let value = CStr::from_ptr(value);30	vm.add_ext_code(31		name.to_str().unwrap().into(),32		value.to_str().unwrap().into(),33	)34	.unwrap()35}36/// # Safety37#[no_mangle]38pub unsafe extern "C" fn jsonnet_tla_var(39	vm: &EvaluationState,40	name: *const c_char,41	value: *const c_char,42) {43	let name = CStr::from_ptr(name);44	let value = CStr::from_ptr(value);45	vm.add_tla_str(46		name.to_str().unwrap().into(),47		value.to_str().unwrap().into(),48	)49}50/// # Safety51#[no_mangle]52pub unsafe extern "C" fn jsonnet_tla_code(53	vm: &EvaluationState,54	name: *const c_char,55	value: *const c_char,56) {57	let name = CStr::from_ptr(name);58	let value = CStr::from_ptr(value);59	vm.add_tla_code(60		name.to_str().unwrap().into(),61		value.to_str().unwrap().into(),62	)63	.unwrap()64}