git.delta.rocks / jrsonnet / refs/commits / 90e93cc51b3a

difftreelog

source

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