diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/hello_world.rs | 23 | 
1 files changed, 23 insertions, 0 deletions
diff --git a/examples/hello_world.rs b/examples/hello_world.rs new file mode 100644 index 0000000..24862f0 --- /dev/null +++ b/examples/hello_world.rs @@ -0,0 +1,23 @@ +use std::ffi::{CStr, CString}; + +use tcl_sys::*; + +fn main() { +    unsafe { +        extract_stdlib_to(guess_expected_stdlib_target()).unwrap(); +        let interp = Tcl_CreateInterp(); +        let init_status = Tcl_Init(interp); +        if init_status == TCL_ERROR as i32 { +            eprintln!( +                "{}", +                CStr::from_ptr(Tcl_GetStringResult(interp)).to_string_lossy() +            ); +        } +        assert_eq!(init_status, TCL_OK as i32); +        let script = CString::new(r#"puts "Hello, World!""#).unwrap(); +        let eval_status = Tcl_Eval(interp, script.as_ptr()); +        assert_eq!(eval_status, TCL_OK as i32); + +        Tcl_DeleteInterp(interp); +    } +}  |