diff options
author | Marcus Meissner <marcus@jet.franken.de> | 2020-05-22 08:08:06 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-22 08:08:06 +0200 |
commit | 74e32ff0eecd53e9fec30c9752b5305a9a3210fb (patch) | |
tree | dc656d619d36a126880880225b75821806c0aead | |
parent | 31fe89e7ebfd08f41f301f8addff1f7e3b280bd4 (diff) | |
parent | 51b177c99259c5dcf07b14af59e04d8abdcf6c59 (diff) | |
download | libgphoto2-74e32ff0eecd53e9fec30c9752b5305a9a3210fb.tar.gz |
Merge pull request #508 from willat8/master
lumix: check req_acc return value
-rw-r--r-- | camlibs/lumix/lumix.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/camlibs/lumix/lumix.c b/camlibs/lumix/lumix.c index d465f333d..481e08c05 100644 --- a/camlibs/lumix/lumix.c +++ b/camlibs/lumix/lumix.c @@ -1869,6 +1869,8 @@ camera_init (Camera *camera, GPContext *context) { GPPortInfo info; int ret; + int tries; + char *result; camera->pl = calloc(sizeof(CameraPrivateLibrary),1); @@ -1893,8 +1895,14 @@ camera_init (Camera *camera, GPContext *context) } gp_filesystem_set_funcs (camera->fs, &fsfuncs, camera); - loadCmd(camera,"cam.cgi?mode=accctrl&type=req_acc&value=0&value2=libgphoto2/lumix"); - loadCmd(camera,"cam.cgi?mode=setsetting&type=device_name&value=libgphoto2/lumix"); + tries = 3; + while (tries--) { + result = loadCmd(camera,"cam.cgi?mode=accctrl&type=req_acc&value=0&value2=libgphoto2/lumix"); + if (strstr(result,"ok,")) { + loadCmd(camera,"cam.cgi?mode=setsetting&type=device_name&value=libgphoto2/lumix"); + break; + } + } if (switchToRecMode (camera) != NULL) { int numpix; |