On 12/30/2013 11:12 PM, Dirk Hohndel wrote:
dive-cb() never being called us your real problem. If that isn't called, we
don't get dives
Ouch. I think I got it:
if (data->libdc_dump) {
dc_buffer_t *buffer = dc_buffer_new (0);
rc = dc_device_dump (device, buffer);
if (rc == DC_STATUS_SUCCESS) {
FILE* fp = subsurface_fopen(dumpfile_name, "wb");
if (fp != NULL) {
fwrite (dc_buffer_get_data (buffer), 1,
dc_buffer_get_size (buffer), fp);
fclose (fp);
}
}
dc_buffer_free (buffer);
} else {
rc = dc_device_foreach(device, dive_cb, data);
}
Obviously, if data->libdc_dump != 0, then
dc_device_foreach(device, dive_cb, data) is never called.
So by trying to collect useful information on the problem, enabling the
dump, I inadvertedly disabled using the data at all.
The few cases where the newer version actually worked must have been
ones where I did _not_ activate the dump.
If that is intentional, please warn people that "dumping" is mutually
exclusive with "using" the data from the DC...
Regards,
Lutz Vieweg
_______________________________________________
subsurface mailing list
[email protected]
http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface