@@ -75,10 +75,10 @@ fn os_exit(_vm: &mut LuaVM) -> LuaResult<MultiValue> {
7575fn os_difftime ( vm : & mut LuaVM ) -> LuaResult < MultiValue > {
7676 let t2 = get_arg ( vm, 1 )
7777 . and_then ( |v| v. as_integer ( ) )
78- . ok_or ( vm. error ( "difftime: argument 1 must be a number" . to_string ( ) ) ) ?;
78+ . ok_or_else ( || vm. error ( "difftime: argument 1 must be a number" . to_string ( ) ) ) ?;
7979 let t1 = get_arg ( vm, 2 )
8080 . and_then ( |v| v. as_integer ( ) )
81- . ok_or ( vm. error ( "difftime: argument 2 must be a number" . to_string ( ) ) ) ?;
81+ . ok_or_else ( || vm. error ( "difftime: argument 2 must be a number" . to_string ( ) ) ) ?;
8282
8383 let diff = t2 - t1;
8484 Ok ( MultiValue :: single ( LuaValue :: integer ( diff) ) )
@@ -94,7 +94,7 @@ fn os_execute(vm: &mut LuaVM) -> LuaResult<MultiValue> {
9494 . get_string ( id)
9595 . map ( |s| s. as_str ( ) . to_string ( ) )
9696 } )
97- . ok_or ( vm. error ( "execute: argument 1 must be a string" . to_string ( ) ) ) ?;
97+ . ok_or_else ( || vm. error ( "execute: argument 1 must be a string" . to_string ( ) ) ) ?;
9898
9999 let output = Command :: new ( "sh" ) . arg ( "-c" ) . arg ( cmd. as_str ( ) ) . output ( ) ;
100100
@@ -119,7 +119,7 @@ fn os_getenv(vm: &mut LuaVM) -> LuaResult<MultiValue> {
119119 . get_string ( id)
120120 . map ( |s| s. as_str ( ) . to_string ( ) )
121121 } )
122- . ok_or ( vm. error ( "getenv: argument 1 must be a string" . to_string ( ) ) ) ?;
122+ . ok_or_else ( || vm. error ( "getenv: argument 1 must be a string" . to_string ( ) ) ) ?;
123123
124124 match std:: env:: var ( varname. as_str ( ) ) {
125125 Ok ( value) => {
@@ -138,7 +138,7 @@ fn os_remove(vm: &mut LuaVM) -> LuaResult<MultiValue> {
138138 . get_string ( id)
139139 . map ( |s| s. as_str ( ) . to_string ( ) )
140140 } )
141- . ok_or ( vm. error ( "remove: argument 1 must be a string" . to_string ( ) ) ) ?;
141+ . ok_or_else ( || vm. error ( "remove: argument 1 must be a string" . to_string ( ) ) ) ?;
142142
143143 match std:: fs:: remove_file ( filename. as_str ( ) ) {
144144 Ok ( _) => Ok ( MultiValue :: single ( LuaValue :: boolean ( true ) ) ) ,
@@ -157,16 +157,15 @@ fn os_rename(vm: &mut LuaVM) -> LuaResult<MultiValue> {
157157 . get_string ( id)
158158 . map ( |s| s. as_str ( ) . to_string ( ) )
159159 } )
160- . ok_or ( vm. error ( "rename: argument 1 must be a string" . to_string ( ) ) ) ?;
160+ . ok_or_else ( || vm. error ( "rename: argument 1 must be a string" . to_string ( ) ) ) ?;
161161 let newname = get_arg ( vm, 2 )
162162 . and_then ( |v| v. as_string_id ( ) )
163163 . and_then ( |id| {
164164 vm. object_pool
165165 . get_string ( id)
166166 . map ( |s| s. as_str ( ) . to_string ( ) )
167167 } )
168- . ok_or ( vm. error ( "rename: argument 2 must be a string" . to_string ( ) ) ) ?;
169-
168+ . ok_or_else ( || vm. error ( "rename: argument 2 must be a string" . to_string ( ) ) ) ?;
170169 match std:: fs:: rename ( oldname. as_str ( ) , newname. as_str ( ) ) {
171170 Ok ( _) => Ok ( MultiValue :: single ( LuaValue :: boolean ( true ) ) ) ,
172171 Err ( e) => {
0 commit comments