Commit f9a94c57 authored by Tommy Olofsson's avatar Tommy Olofsson
Browse files

Fixed some error reporting in the c implemantation of the decoder.

parent 83628a1f
...@@ -67,6 +67,7 @@ struct labcomm_decoder *labcomm_decoder_new( ...@@ -67,6 +67,7 @@ struct labcomm_decoder *labcomm_decoder_new(
result->error = error; result->error = error;
result->memory = memory; result->memory = memory;
result->scheduler = scheduler; result->scheduler = scheduler;
result->on_error = on_error_fprintf;
LABCOMM_SIGNATURE_ARRAY_INIT(result->local, struct sample_entry); LABCOMM_SIGNATURE_ARRAY_INIT(result->local, struct sample_entry);
LABCOMM_SIGNATURE_ARRAY_INIT(result->remote_to_local, int); LABCOMM_SIGNATURE_ARRAY_INIT(result->remote_to_local, int);
} }
...@@ -93,8 +94,9 @@ static int collect_flat_signature( ...@@ -93,8 +94,9 @@ static int collect_flat_signature(
result = decoder->reader->error; result = decoder->reader->error;
if (result < 0) { goto out; } if (result < 0) { goto out; }
if (type >= LABCOMM_USER) { if (type >= LABCOMM_USER) {
/* decoder->on_error(LABCOMM_ERROR_UNIMPLEMENTED_FUNC, 3, */ decoder->on_error(LABCOMM_ERROR_UNIMPLEMENTED_FUNC, 3,
printf("Implement %s ... (1) for type 0x%x\n", __FUNCTION__, type); "Implement %s ... (1) for type 0x%x\n",
__FUNCTION__, type);
} else { } else {
labcomm_write_packed32(writer, type); labcomm_write_packed32(writer, type);
switch (type) { switch (type) {
...@@ -134,8 +136,9 @@ static int collect_flat_signature( ...@@ -134,8 +136,9 @@ static int collect_flat_signature(
} break; } break;
default: { default: {
result = -ENOSYS; result = -ENOSYS;
/* decoder->on_error(LABCOMM_ERROR_UNIMPLEMENTED_FUNC, 3, */ decoder->on_error(LABCOMM_ERROR_UNIMPLEMENTED_FUNC, 3,
printf("Implement %s (2) for type 0x%x...\n", __FUNCTION__, type); "Implement %s (2) for type 0x%x...\n",
__FUNCTION__, type);
} break; } break;
} }
} }
...@@ -257,8 +260,8 @@ static int decode_typedef_or_sample(struct labcomm_decoder *d, int kind) ...@@ -257,8 +260,8 @@ static int decode_typedef_or_sample(struct labcomm_decoder *d, int kind)
d->on_new_datatype(d, &signature); d->on_new_datatype(d, &signature);
result = -ENOENT; result = -ENOENT;
} else if (entry->index && entry->index != remote_index) { } else if (entry->index && entry->index != remote_index) {
/* d->on_error(LABCOMM_ERROR_DEC_INDEX_MISMATCH, 5, */ d->on_error(LABCOMM_ERROR_DEC_INDEX_MISMATCH, 5,
printf("%s(): index mismatch '%s' (id=0x%x != 0x%x)\n", "%s(): index mismatch '%s' (id=0x%x != 0x%x)\n",
__FUNCTION__, signature.name, entry->index, remote_index); __FUNCTION__, signature.name, entry->index, remote_index);
result = -ENOENT; result = -ENOENT;
#endif #endif
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment