Merge branch 'uemis-downloader-fixes'

This commit is contained in:
Dirk Hohndel 2012-11-19 20:50:39 -08:00
commit cfaa494452

View file

@ -388,7 +388,7 @@ static void buffer_insert(char **buffer, int *buffer_size, char *buf)
int obj_dive; int obj_dive;
int obj_log; int obj_log;
int offset, len; int offset, len;
uint8_t hdr[24]; uint8_t hdr[27];
/* since we want to insert into the buffer... if there's /* since we want to insert into the buffer... if there's
* nothing there, this makes absolutely no sense so just * nothing there, this makes absolutely no sense so just
@ -414,14 +414,14 @@ static void buffer_insert(char **buffer, int *buffer_size, char *buf)
* some info from that in order to make sense of the data in * some info from that in order to make sense of the data in
* the dive info */ * the dive info */
b64 = strstr(ptr, "<bin>") + 5; b64 = strstr(ptr, "<bin>") + 5;
decode(b64, hdr, 32); decode(b64, hdr, 36);
cbuf = convert_dive_details(buf, hdr); cbuf = convert_dive_details(buf, hdr);
offset = ptr - *buffer; offset = ptr - *buffer;
len = strlen(cbuf); len = strlen(cbuf);
*buffer_size += len; *buffer_size += len;
*buffer = realloc(*buffer, *buffer_size); *buffer = realloc(*buffer, *buffer_size);
ptr = *buffer + offset; ptr = *buffer + offset;
memmove(ptr + len, ptr, strlen(*buffer) - offset); memmove(ptr + len, ptr, strlen(*buffer) - offset + 1);
memmove(ptr, cbuf, len); memmove(ptr, cbuf, len);
} }