subsurface/libdivecomputer.h
Dirk Hohndel a6b35141e4 Don't parse 32bit hex values with strtol
On a 32bit machine this will truncate values with MSB set to 0x7fffffff

Fixes #164

(thanks to Linus for pointing me in the right direction)

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-22 13:31:52 -08:00

40 lines
898 B
C

#ifndef LIBDIVECOMPUTER_H
#define LIBDIVECOMPUTER_H
/* libdivecomputer */
#include <libdivecomputer/version.h>
#include <libdivecomputer/device.h>
#include <libdivecomputer/parser.h>
#include "dive.h"
#ifdef __cplusplus
extern "C" {
#endif
/* don't forget to include the UI toolkit specific display-XXX.h first
to get the definition of progressbar_t */
typedef struct device_data_t {
dc_descriptor_t *descriptor;
const char *vendor, *product, *devname;
const char *model;
uint32_t deviceid, diveid;
dc_device_t *device;
dc_context_t *context;
int preexisting;
bool force_download;
} device_data_t;
const char *do_libdivecomputer_import(device_data_t *data);
const char *do_uemis_import(const char *mountpath, short force_download);
extern int import_thread_cancelled;
extern const char *progress_bar_text;
extern double progress_bar_fraction;
#ifdef __cplusplus
}
#endif
#endif