diff options
author | Eliot Blennerhassett <eliot@blennerhassett.gen.nz> | 2017-01-04 18:23:14 +1300 |
---|---|---|
committer | Eliot Blennerhassett <eliot@blennerhassett.gen.nz> | 2017-01-04 18:23:14 +1300 |
commit | 21f7345c47c8803d479aa8667142b9a331eafa4b (patch) | |
tree | cc47bee239125fa4be1b4782d1a20397dd802803 /camlibs/canon | |
parent | bd80abb28413fb3a9b761ea48cfe0474de575296 (diff) | |
download | libgphoto2-21f7345c47c8803d479aa8667142b9a331eafa4b.tar.gz |
camlibs: canon_int_get_zoom - work with shorter response from S45
Relax datalen check so it accepts the minimum reqired for referenced data
(15th element). Canon S45 returns 16 bytes for this query, and failed
the previous requirement for 28 bytes returned.
Diffstat (limited to 'camlibs/canon')
-rw-r--r-- | camlibs/canon/canon.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/camlibs/canon/canon.c b/camlibs/canon/canon.c index 6ab65b7b2..1b482d39d 100644 --- a/camlibs/canon/canon.c +++ b/camlibs/canon/canon.c @@ -2050,7 +2050,8 @@ canon_int_set_zoom (Camera *camera, unsigned char zoom_level, * @zoom_max: pointer to hold zoom upper bound * @context: context for error reporting * - * Gets the camera's zoom. Only tested for G1 via USB. + * Gets the camera's zoom. + * Tested only for G1 and S45 via USB. * * Returns: gphoto2 error code * @@ -2088,7 +2089,7 @@ canon_int_get_zoom (Camera *camera, msg = canon_usb_dialogue ( camera, CANON_USB_FUNCTION_CONTROL_CAMERA, &datalen, payload, payloadlen ); - if ( msg == NULL || datalen != 0x1c) { + if ( msg == NULL || datalen < 15) { /* ERROR */ GP_DEBUG ("%s datalen=%x", desc, datalen); |