git.delta.rocks / jrsonnet / refs/commits / 93c371f4fd9e

difftreelog

source

bindings/jsonnet/src/vars_tlas.rs1.2 KiBsourcehistory
1//! Manipulate external variables and top level arguments23use std::{ffi::CStr, os::raw::c_char};45use jrsonnet_evaluator::State;67/// # Safety8#[no_mangle]9pub unsafe extern "C" fn jsonnet_ext_var(vm: &State, name: *const c_char, value: *const c_char) {10	let name = CStr::from_ptr(name);11	let value = CStr::from_ptr(value);12	vm.add_ext_str(13		name.to_str().unwrap().into(),14		value.to_str().unwrap().into(),15	)16}1718/// # Safety19#[no_mangle]20pub unsafe extern "C" fn jsonnet_ext_code(vm: &State, name: *const c_char, value: *const c_char) {21	let name = CStr::from_ptr(name);22	let value = CStr::from_ptr(value);23	vm.add_ext_code(name.to_str().unwrap(), value.to_str().unwrap().into())24		.unwrap()25}26/// # Safety27#[no_mangle]28pub unsafe extern "C" fn jsonnet_tla_var(vm: &State, name: *const c_char, value: *const c_char) {29	let name = CStr::from_ptr(name);30	let value = CStr::from_ptr(value);31	vm.add_tla_str(32		name.to_str().unwrap().into(),33		value.to_str().unwrap().into(),34	)35}36/// # Safety37#[no_mangle]38pub unsafe extern "C" fn jsonnet_tla_code(vm: &State, name: *const c_char, value: *const c_char) {39	let name = CStr::from_ptr(name);40	let value = CStr::from_ptr(value);41	vm.add_tla_code(name.to_str().unwrap().into(), value.to_str().unwrap())42		.unwrap()43}