@@ -144,38 +144,34 @@ impl UlimitArgs {
144144 return Err ( "ulimit: cannot set limit for all resources" . to_string ( ) ) ;
145145 }
146146
147- if limit. is_none ( ) && resource_limit. is_some ( ) {
148- if newlimit. is_some ( ) {
149- return Ok ( UlimitArgs {
150- limit : LimitType :: Both ,
151- resource : resource_limit. unwrap ( ) ,
152- newlimit,
153- } ) ;
147+ match ( limit, resource_limit) {
148+ ( None , Some ( resource) ) => {
149+ if newlimit. is_some ( ) {
150+ Ok ( UlimitArgs {
151+ limit : LimitType :: Both ,
152+ resource,
153+ newlimit,
154+ } )
155+ } else {
156+ Ok ( UlimitArgs {
157+ limit : LimitType :: Soft ,
158+ resource,
159+ newlimit : None ,
160+ } )
161+ }
154162 }
155- return Ok ( UlimitArgs {
156- limit : LimitType :: Soft ,
157- resource : resource_limit. unwrap ( ) ,
158- newlimit : None ,
159- } ) ;
160- }
161-
162- if limit. is_some ( ) && resource_limit. is_none ( ) {
163- return Ok ( UlimitArgs {
164- limit : limit. unwrap ( ) ,
163+ ( Some ( lim) , None ) => Ok ( UlimitArgs {
164+ limit : lim,
165165 resource : ResourceLimit :: FSize ,
166166 newlimit,
167- } ) ;
168- }
169-
170- if limit. is_some ( ) && resource_limit. is_some ( ) {
171- return Ok ( UlimitArgs {
172- limit : limit. unwrap ( ) ,
173- resource : resource_limit. unwrap ( ) ,
167+ } ) ,
168+ ( Some ( lim) , Some ( resource) ) => Ok ( UlimitArgs {
169+ limit : lim,
170+ resource,
174171 newlimit,
175- } ) ;
172+ } ) ,
173+ ( None , None ) => Err ( "ulimit: invalid arguments" . to_string ( ) ) ,
176174 }
177-
178- Err ( "ulimit: invalid arguments" . to_string ( ) )
179175 }
180176}
181177
0 commit comments