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
35pub 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}