[ofw] RE: NDinstall - return proper exit code.

Smith, Stan stan.smith at intel.com
Wed Jul 15 11:07:01 PDT 2009


Hefty, Sean wrote:
>> -static void install_provider(void)
>> +static int install_provider(void)
>> {
>>        int rc;
>>        INT err_no;
>> @@ -213,7 +213,9 @@
>>                        printf("WSCInstallProvider failed: %d\n",
>>                err_no);        } else { printf("successful\n");
>> +               rc = 0;
>>        }
>> +       return rc;
>
> We probably want to return err_no here.
>
>> }
>>
>> /*
>> @@ -222,18 +224,19 @@
>>  */
>> static void remove_provider(void)
>> {
>> -       int rc;
>> +       int rc=0,rc1;
>>        int err_no;
>>        LONG reg_error;
>>        HKEY hkey;
>>
>>        /* Remove from the catalog */
>>        printf("\nRemoving %s provider: ", provider_name[index]);
>> -       rc = WSCDeinstallProvider(&provider_guid[index], &err_no);
>> -       if (rc == SOCKET_ERROR) {
>> +       rc1 = WSCDeinstallProvider(&provider_guid[index], &err_no);
>> +       if (rc1 == SOCKET_ERROR) {
>>                printf ("WSCDeinstallProvider failed: %d\n", err_no);
>>                } else { printf ("successful\n");
>> +               rc1 = 0;
>>        }
>>
>> #ifdef _WIN64
>> @@ -244,8 +247,12 @@
>>                printf ("WSCDeinstallProvider32 failed: %d\n",
>>                err_no);        } else { printf ("successful\n");
>> +               rc = 0;
>>        }
>> #endif /* _WIN64 */
>> +       if ( rc || rc1 )
>> +               return (rc ? rc : rc1);
>> +       return 0;
>
> Same - plus this logic looks a little complex.  It may be simpler to
> just bail earlier on the first error
>
> - Sean

I wondered about bailing immediately and figured you would have a comment.
Will change to bail on 1st error.

Stan.



More information about the ofw mailing list