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

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::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(24		name.to_str().unwrap().into(),25		value.to_str().unwrap().into(),26	)27	.unwrap()28}29/// # Safety30#[no_mangle]31pub unsafe extern "C" fn jsonnet_tla_var(vm: &State, name: *const c_char, value: *const c_char) {32	let name = CStr::from_ptr(name);33	let value = CStr::from_ptr(value);34	vm.add_tla_str(35		name.to_str().unwrap().into(),36		value.to_str().unwrap().into(),37	)38}39/// # Safety40#[no_mangle]41pub unsafe extern "C" fn jsonnet_tla_code(vm: &State, name: *const c_char, value: *const c_char) {42	let name = CStr::from_ptr(name);43	let value = CStr::from_ptr(value);44	vm.add_tla_code(45		name.to_str().unwrap().into(),46		value.to_str().unwrap().into(),47	)48	.unwrap()49}