rustr/dll/
message.rs

1use rdll::*;
2use std::ffi::CString;
3use util::*;
4use error::*;
5use traits::*;
6use protect::stackp::*;
7
8
9pub unsafe fn r_error_user(arg1: &str) -> RResult<()> {
10    let cstr = CString::new(arg1)?;
11    Rf_error(cstr.as_ptr());
12    Ok(())
13}
14
15pub unsafe fn r_error(arg1: &str) {
16    Rf_error(c_str(arg1).as_ptr());
17}
18
19pub unsafe fn r_unimplemented_user(arg1: &str) -> RResult<()> {
20    let cstr = CString::new(arg1)?;
21    UNIMPLEMENTED(cstr.as_ptr());
22    Ok(())
23}
24
25pub unsafe fn r_unimplemented(arg1: &str) {
26    UNIMPLEMENTED(c_str(arg1).as_ptr());
27}
28
29pub unsafe fn rf_warn_user(arg1: &str) -> RResult<()> {
30    let cstr = CString::new(arg1)?;
31    Rf_warning(cstr.as_ptr());
32    Ok(())
33}
34
35// may longjmp
36pub unsafe fn rf_warn(arg1: &str) {
37    Rf_warning(c_str(arg1).as_ptr());
38}
39
40pub fn r_warn(arg1: &str) {
41    unsafe {
42        let warning = Shield::new(Rf_lang2(::Rf_install(c_str("warning").as_ptr()),
43                                           c_str(arg1).uintor()));
44        let _ = Rf_eval(warning.s(), R_GlobalEnv);
45    }
46}
47
48pub fn r_warn_user(arg1: &str) -> RResult<()> {
49    let cstr = CString::new(arg1)?;
50    unsafe {
51        let warning = Shield::new(Rf_lang2(::Rf_install(c_str("warning").as_ptr()), cstr.uintor()));
52        let _ = Rf_eval(warning.s(), R_GlobalEnv);
53        Ok(())
54    }
55}
56
57pub fn r_message(arg1: &str) {
58    unsafe {
59        let warning = Shield::new(Rf_lang2(::Rf_install(c_str("message").as_ptr()),
60                                           c_str(arg1).uintor()));
61        let _ = Rf_eval(warning.s(), R_GlobalEnv);
62    }
63}
64
65pub fn r_message_user(arg1: &str) -> RResult<()> {
66    let cstr = CString::new(arg1)?;
67    unsafe {
68        let warning = Shield::new(Rf_lang2(::Rf_install(c_str("message").as_ptr()), cstr.uintor()));
69        let _ = Rf_eval(warning.s(), R_GlobalEnv);
70        Ok(())
71    }
72}
73
74
75pub fn r_message_box_user(arg1: &str) -> RResult<()> {
76    let cstr = CString::new(arg1)?;
77    unsafe {
78        R_ShowMessage(cstr.as_ptr());
79        Ok(())
80    }
81}
82
83pub fn r_message_box(arg1: &str) {
84    unsafe {
85        R_ShowMessage(c_str(arg1).as_ptr());
86    }
87}
88
89pub fn r_printf(x: &str) {
90    unsafe {
91        Rprintf(c_str(x).as_ptr());
92    }
93}
94
95pub fn r_printf_user(x: &str) -> RResult<()> {
96    let cstr = CString::new(x)?;
97    unsafe {
98        Rprintf(cstr.as_ptr());
99        Ok(())
100    }
101}