Tyler Gregg
Tyler Gregg
This parameter is [documented](https://github.com/amzn/ion-c/blob/master/ionc/inc/ion_writer.h#L259) as "the number of bytes written into the buffer/stream". Is that the total number of bytes *ever* written to the stream, or the total number of...
The memory ownership contract and lifecycle for an ION_INT is currently not documented, and may be confusing to users. For example, when must `ion_int_alloc`, `ion_int_free`, and `ion_int_init` be used?
Via Valgrind.
gcov is an option.
For example, when positioned on a `null` value, `ion_reader_read_bool` returns `IERR_NULL_VALUE` when read by a binary reader and `IERR_INVALID_STATE` when read by a text reader. It should return `IERR_NULL_VALUE` in...
Functions like `ion_timestamp_for_fraction` and `ion_timestamp_get_thru_minute` aren't necessarily covered extensively by the roundtrip tests.
If you call one of the `ion_reader` methods (for example `ion_reader_read_timestamp`) with a bad `hREADER` pointer, the methods fail with `IERR_INVALID_STATE`, which is misleading. There should be a specific error...
`ion_catalog_find_best_match` and `ion_catalog_find_symbol_table` accept the `version` parameter as a `long`, but this is internally converted to an `int32_t`.
Inconsistent reader behavior when reading a numeric value that does not fit into the output variable
ion_reader_read_int/int64/long/double has inconsistent behavior when the source data cannot fit into the output variable. For example, when reading a text int, overflow triggers IERR_NUMERIC_OVERFLOW. When reading a text double, the...
In `ion_writer_write_one_value`, a temp buffer is used to first read the lob and then write it. This requires two memcpy.