@@ -20,10 +20,10 @@ fn get_computer_name() -> String {
2020pub fn handle_set ( input : & str ) -> Result < String > {
2121 // Parse input as UpdateList
2222 let update_list: UpdateList = serde_json:: from_str ( input)
23- . map_err ( |e| Error :: new ( E_INVALIDARG . into ( ) , t ! ( "set.failedParseInput" , err = e. to_string( ) ) . to_string ( ) ) ) ?;
23+ . map_err ( |e| Error :: new ( E_INVALIDARG , t ! ( "set.failedParseInput" , err = e. to_string( ) ) ) ) ?;
2424
2525 if update_list. updates . is_empty ( ) {
26- return Err ( Error :: new ( E_INVALIDARG . into ( ) , t ! ( "set.updatesArrayEmpty" ) . to_string ( ) ) ) ;
26+ return Err ( Error :: new ( E_INVALIDARG , t ! ( "set.updatesArrayEmpty" ) ) ) ;
2727 }
2828
2929 // Initialize COM
@@ -60,7 +60,7 @@ pub fn handle_set(input: &str) -> Result<String> {
6060 && update_input. is_installed . is_none ( )
6161 && update_input. update_type . is_none ( )
6262 && update_input. msrc_severity . is_none ( ) {
63- return Err ( Error :: new ( E_INVALIDARG . into ( ) , t ! ( "set.atLeastOneCriterionRequired" ) . to_string ( ) ) ) ;
63+ return Err ( Error :: new ( E_INVALIDARG , t ! ( "set.atLeastOneCriterionRequired" ) ) ) ;
6464 }
6565
6666 // Find the update matching ALL provided criteria (logical AND)
@@ -167,7 +167,7 @@ pub fn handle_set(input: &str) -> Result<String> {
167167 t ! ( "set.criteriaMatchedMultipleUpdates" , count = matching_updates. len( ) ) . to_string ( )
168168 } ;
169169 eprintln ! ( "{{\" error\" :\" {}\" }}" , error_msg) ;
170- return Err ( Error :: new ( E_INVALIDARG . into ( ) , error_msg) ) ;
170+ return Err ( Error :: new ( E_INVALIDARG , error_msg) ) ;
171171 }
172172
173173 // Get the first (and should be only) match
@@ -205,7 +205,7 @@ pub fn handle_set(input: &str) -> Result<String> {
205205 // Emit JSON error to stderr
206206 eprintln ! ( "{{\" error\" :\" {}\" }}" , error_msg) ;
207207
208- return Err ( Error :: new ( E_FAIL . into ( ) , error_msg) ) ;
208+ return Err ( Error :: new ( E_FAIL , error_msg) ) ;
209209 }
210210 }
211211
@@ -238,7 +238,7 @@ pub fn handle_set(input: &str) -> Result<String> {
238238 // Check if download was successful (orcSucceeded = 2)
239239 if result_code != OperationResultCode ( 2 ) {
240240 let hresult = download_result. HResult ( ) ?;
241- return Err ( Error :: new ( HRESULT ( hresult) . into ( ) , t ! ( "set.failedDownloadUpdate" , code = result_code. 0 ) . to_string ( ) ) ) ;
241+ return Err ( Error :: new ( HRESULT ( hresult) , t ! ( "set.failedDownloadUpdate" , code = result_code. 0 ) ) ) ;
242242 }
243243 }
244244
@@ -252,17 +252,15 @@ pub fn handle_set(input: &str) -> Result<String> {
252252 // Check if installation was successful (orcSucceeded = 2)
253253 if result_code != OperationResultCode ( 2 ) {
254254 let hresult = install_result. HResult ( ) ?;
255- return Err ( Error :: new ( HRESULT ( hresult) . into ( ) , t ! ( "set.failedInstallUpdate" , code = result_code. 0 ) . to_string ( ) ) ) ;
255+ return Err ( Error :: new ( HRESULT ( hresult) , t ! ( "set.failedInstallUpdate" , code = result_code. 0 ) ) ) ;
256256 }
257257
258258 // Check if installation result indicates a reboot is required
259- if !reboot_required {
260- if let Ok ( reboot_req) = install_result. RebootRequired ( ) {
261- if reboot_req. as_bool ( ) {
262- reboot_required = true ;
263- }
259+ if !reboot_required
260+ && let Ok ( reboot_req) = install_result. RebootRequired ( )
261+ && reboot_req. as_bool ( ) {
262+ reboot_required = true ;
264263 }
265- }
266264
267265 // Get full details now that it's installed
268266 extract_update_info ( & update) ?
@@ -298,7 +296,7 @@ pub fn handle_set(input: &str) -> Result<String> {
298296 updates
299297 } ;
300298 serde_json:: to_string ( & results)
301- . map_err ( |e| Error :: new ( E_FAIL . into ( ) , t ! ( "set.failedSerializeOutput" , err = e. to_string( ) ) . to_string ( ) ) )
299+ . map_err ( |e| Error :: new ( E_FAIL , t ! ( "set.failedSerializeOutput" , err = e. to_string( ) ) ) )
302300 }
303301 Err ( e) => Err ( e) ,
304302 }
0 commit comments