summaryrefslogtreecommitdiffstats
path: root/uemis-downloader.c
diff options
context:
space:
mode:
Diffstat (limited to 'uemis-downloader.c')
-rw-r--r--uemis-downloader.c30
1 files changed, 24 insertions, 6 deletions
diff --git a/uemis-downloader.c b/uemis-downloader.c
index 630eacc64..8c912d4cf 100644
--- a/uemis-downloader.c
+++ b/uemis-downloader.c
@@ -30,6 +30,8 @@
#define BUFLEN 2048
#define NUM_PARAM_BUFS 10
+// debugging setup
+//#define UEMIS_DEBUG 1 + 2
#if UEMIS_DEBUG & 64 /* we are reading from a copy of the filesystem, not the device - no need to wait */
#define UEMIS_TIMEOUT 50 /* 50ns */
@@ -375,7 +377,7 @@ static char *first_object_id_val(char *buf)
char *p = object + 14;
char *t = tmp;
-#if UEMIS_DEBUG & 2
+#if UEMIS_DEBUG & 4
char debugbuf[50];
strncpy(debugbuf, object, 49);
debugbuf[49] = '\0';
@@ -411,8 +413,8 @@ static void show_progress(char *buf, const char *what)
char *val = first_object_id_val(buf);
if (val) {
/* let the user know what we are working on */
-#if UEMIS_DEBUG & 2
- fprintf(stderr, "reading %s %s %s\n", what, val, buf);
+#if UEMIS_DEBUG & 16
+ fprintf(debugfile, "reading %s\n %s\ %s\n", what, val, buf);
#endif
uemis_info(translate("gettextFromC", "%s %s"), what, val);
free(val);
@@ -448,7 +450,9 @@ static bool uemis_get_answer(const char *path, char *request, int n_param_in,
reqtxt_file = subsurface_open(reqtxt_path, O_RDWR | O_CREAT, 0666);
if (reqtxt_file == -1) {
*error_text = "can't open req.txt";
- fprintf(stderr, "open %s failed with errno %d\n", reqtxt_path, errno);
+#ifdef UEMIS_DEBUG
+ fprintf(debugfile, "open %s failed with errno %d\n", reqtxt_path, errno);
+#endif
return false;
}
snprintf(sb, BUFLEN, "n%04d12345678", filenr);
@@ -470,7 +474,7 @@ static bool uemis_get_answer(const char *path, char *request, int n_param_in,
file_length = strlen(sb);
snprintf(fl, 10, "%08d", file_length - 13);
memcpy(sb + 5, fl, strlen(fl));
-#if UEMIS_DEBUG & 1
+#if UEMIS_DEBUG & 4
fprintf(debugfile, "::w req.txt \"%s\"\n", sb);
#endif
if (write(reqtxt_file, sb, strlen(sb)) != strlen(sb)) {
@@ -677,6 +681,10 @@ static void parse_tag(struct dive *dive, char *tag, char *val)
{
/* we can ignore computer_id, water and gas as those are redundant
* with the binary data and would just get overwritten */
+#if UEMIS_DEBUG & 4
+ if (strcmp(tag, "file_content"))
+ fprintf(debugfile, "Adding to dive %d : %s = %s\n", dive->dc.diveid, tag, val);
+#endif
if (!strcmp(tag, "date")) {
uemis_ts(val, &dive->when);
} else if (!strcmp(tag, "duration")) {
@@ -760,7 +768,7 @@ static bool process_raw_buffer(device_data_t *devdata, uint32_t deviceid, char *
/* remember, we don't know if this is the right entry,
* so first test if this is even a valid entry */
if (strstr(inbuf, "deleted{bool{true")) {
-#if UEMIS_DEBUG & 4
+#if UEMIS_DEBUG & 2
fprintf(debugfile, "p_r_b entry deleted\n");
#endif
/* oops, this one isn't valid, suggest to try the previous one */
@@ -795,9 +803,16 @@ static bool process_raw_buffer(device_data_t *devdata, uint32_t deviceid, char *
}
val = next_token(&bp);
if (log && !strcmp(tag, "object_id")) {
+#if UEMIS_DEBUG & 8
+ if (strlen(val) < 20)
+ fprintf(debugfile, "Parsed %s, %s, %s\n*************************\n", tag, type, val);
+#endif
free(*max_divenr);
*max_divenr = strdup(val);
dive->dc.diveid = atoi(val);
+#if UEMIS_DEBUG % 2
+ fprintf(debugfile, "Adding new dive from log with object_id %d.\n", atoi(val));
+#endif
if (keep_number)
dive->number = atoi(val);
} else if (!log && !strcmp(tag, "logfilenr")) {
@@ -808,6 +823,9 @@ static bool process_raw_buffer(device_data_t *devdata, uint32_t deviceid, char *
} else if (!log && dive && !strcmp(tag, "divespot_id")) {
dive->dive_site_uuid = create_dive_site("from Uemis", dive->when);
track_divespot(val, dive->dc.diveid, dive->dive_site_uuid);
+#if UEMIS_DEBUG & 2
+ fprintf(debugfile, "Created divesite %d for diveid : %d\n", dive->dive_site_uuid, dive->dc.diveid);
+#endif
} else if (dive) {
parse_tag(dive, tag, val);
}