[Pkg-running-devel] Bug#816314: Bug#816314: Fix patch for libusb1.0 update.
Fenix
fenixian at gmail.com
Sun Apr 17 11:14:56 UTC 2016
Hi. I comment beween quotes. :)
On 17/04/16 09:26, Christian PERRIER wrote:
>> @@ -97,22 +96,28 @@ garmin_open ( garmin_unit * garmin )
>> if ( err ) {
>> printf("libusb_open failed: %s\n",libusb_error_name(err));
>> garmin->usb.handle = NULL;
>> - } else if ( garmin->verbose != 0 ) {
>> - printf("[garmin] libusb_open = %p\n",garmin->usb.handle);
>> + } else {
>> + if ( garmin->verbose != 0 ) {
>> + printf("[garmin] libusb_open = %p\n",garmin->usb.handle);
>> + }
>
> I'm not really skilled in C, but isn't that just cosmetic?
No, it isn't just cosmetic. The problem is that structure is a bit
ugly (I agree). Original makes:
if (error) {
[...]
} else if (only_execute_when_user_wants_verbosity) {
print message
err = execute_core_function_libusb
if (err) {
[...]
} else if (only_execute_when_user_wants_verbosity) {
[...]
}
}
In that situation, the function (execute_core_function_libusb) of
libusb library only are executed when the user runs the program with -v
main parameter (wants verbosity).
You could safe the {} of the if (verbosity] condition as it is just
contain one sentence. Make something like:
if (error) {
} else {
if (verbosity) print message
err = execute_core_function_libusb
if (err) {
[...]
} else {
if (verbosity) print message
err = execute_core_function_libusb
}
}
But I prefer mark the block of code with {} for readbility,
specially in that situation.
I'm not skilled C programmer, too (I used loooong time ago :)), but
I probably didn't make that structure. I'd just make:
If (error) {
[...]
} else {
if (verbosity) print message
err = execute_core_function_1_libusb
}
If (not error) {
if (verbosity) print message
err = execute_core_function__n_libusb
}
Probably is better for readbility, but it is less efficient. So, I
preferred to maintain the original structure and make a "quick fix".
>
>>
>> - err = libusb_set_configuration(garmin->usb.handle,1);
>> + err = libusb_set_configuration(garmin->usb.handle,1);
>
> Ditto
>
>> if ( err ) {
>> - printf("libusb_set_configuration failed: %s\n",
>> + printf("libusb_set_configuration failed: %s\n",
>
> Ditto
>
> And so on....
>
> I'd be happy to apply the patch, of course, but do you think that it
> can be "cleaned"?
>
> I can try to do it myself but......I'm a bit afraid to break things
> doing so.
>
>
I agree. Of course can be cleaned. :)
I can clean the non-functional cosmetic (unintentional from me)
changes of the patch: lines, blanks...
Maybe you want to add to this conversation the person who makes the
libusb1.0 port as I'm not skilled with libusb (only learned the needed
to make this fix). As I said, the fix works for me and the tests I made
goes fine, but maybe there is something I did not consider.
I'll try to make the re-patch along today.
Thanks. :)
More information about the Pkg-running-devel
mailing list