@@ -24,6 +24,9 @@ extern {
2424 // Push
2525 fn glua_push_string ( state : LuaState , string : * const CChar ) ;
2626 fn glua_push_number ( state : LuaState , n : CDouble ) ;
27+ fn glua_push_bool ( state : LuaState , val : bool ) ;
28+ fn glua_push_nil ( state : LuaState ) ;
29+
2730
2831 // Push (Special)
2932 fn glua_push_global ( state : LuaState ) ;
@@ -33,6 +36,7 @@ extern {
3336 fn glua_set_table ( state : LuaState , stack_pos : i32 ) ;
3437
3538 fn glua_call ( state : LuaState , nargs : i32 , nresults : i32 ) ;
39+ fn glua_arg_error ( state : LuaState , argnum : i32 , errmsg : * const CChar ) ;
3640}
3741
3842pub struct RLuaState {
@@ -139,14 +143,20 @@ impl RLuaState {
139143 glua_push_number ( self . raw_state , num as CDouble )
140144 }
141145 pub unsafe fn push_string ( & mut self , string : & str ) {
142- glua_push_string ( self . raw_state , CString :: new ( string) . unwrap ( ) . as_ptr ( ) ) ;
146+ glua_push_string ( self . raw_state , CString :: new ( string) . unwrap ( ) . as_ptr ( ) )
143147 }
144148 pub unsafe fn push_cfunc ( & mut self , func : extern fn ( LuaState ) -> i32 ) {
145149 glua_push_cfunc ( self . raw_state , func)
146150 }
147151 pub unsafe fn push_global ( & mut self ) {
148152 glua_push_global ( self . raw_state )
149153 }
154+ pub unsafe fn push_bool ( & mut self , val : bool ) {
155+ glua_push_bool ( self . raw_state , val)
156+ }
157+ pub unsafe fn push_nil ( & mut self ) {
158+ glua_push_nil ( self . raw_state )
159+ }
150160}
151161
152162/// Lua Set Functions
@@ -167,6 +177,10 @@ impl RLuaState {
167177 pub unsafe fn call ( & mut self , nargs : i32 , nresults : i32 ) {
168178 glua_call ( self . raw_state , nargs, nresults)
169179 }
180+ /// Throws an error at argument <argnum> with the error message of <errmsg>
181+ pub unsafe fn arg_error ( & mut self , argnum : i32 , errmsg : & str ) {
182+ glua_arg_error ( self . raw_state , argnum, CString :: new ( errmsg) . unwrap ( ) . as_ptr ( ) )
183+ }
170184}
171185
172186
0 commit comments