* Add null terminator for char* based json string unescape, and precondition on input length
* Add remark comment about precondition and null terimination
* Update doc comment typo
* Remove the test cases about insufficient space.
* Fix clang formatting.
* Add null terminator tests.
* Test that the null terminator is there at the end.
* Fix build errors.
* first pass
* A few small updates
* revert cmakesettings, and some file format
* fix char conv
* remove static
* pointerize
* test
* disable
* fix tests
* free
* lint
* the cmake of glory
* remove wrapper API
* remove build folder
* clang
* PR comments
* remark
* argh
* PR comments
* PR comments
* Test updates from PR
* added unit test for missing
* some more PR comments
* Actually use the COMCKA_LIB variable that we set in the top level CMakeLists.txt
* rename global_compile_options.txt to .cmake
This results in better colorization in editors, and is less suprising.
* add ADDRESS_SANITIZER option
* add asan to CI, use
* use - instead of / for sanitize=address, so things work with other compilers
* make the canary compiler-specific.
* make an imported target for cmocka if it's too old to have a real imported target.
* link asan when using gcc
* make only the static analysis lie compiler specific.
* use target_link_libraries and target_include_directories instead of set_property
This is required to properly expand build type keywords.
* Revert "use target_link_libraries and target_include_directories instead of set_property"
This reverts commit f10143e03b.
* Revert "make an imported target for cmocka if it's too old to have a real imported target."
This reverts commit fd708295b8.
* just do target detection, don't try and make an imported target
the imported target doesn't work because it has build type keywords.
* supress "asan needs debug mode for good error reporting.
* ignore the linker warning about better debug info too.
* Remove the canary
* Add asan to a debug linux build.
* whitespace
* whitespace mk2
* update readme to mention asan
* asan option description nits
* add some explenation of the changes to linker warnings
* add note about compiler warning as well.
* Add total bytes written public field to the JSON writer, by moving it
from internal.
* Add doc comments to internal json writer fields.
* Fix typo in comment, close bracket.
* Remove trailing whitespace and insert final new lines.
* Revert "Remove trailing whitespace and insert final new lines."
This reverts commit 1c6539a6ca.
* Remove trailing whitespace, insert final new lines, and consistently use
LF.
* Revert "Remove trailing whitespace and insert final new lines."
This reverts commit 1c6539a6ca.
* Remove trailing whitespace and insert final new lines, leaving end of
lines as default.
* Normalize line endings.
* Fix header guard.
* Run clang format.
* Re-run editor config.
* Use a should_write callback method to let the caller decide what should
and shouldn't get logged.
* Update parameter name to match expectation.
* Make sure to use the write_nothing callback in a test.
* Update comments and split az_log_set_callbacks to two individual
functions.
* Rename az_log_set_callback to az_log_set_message_callback and update
tests.
* Fix typo and invert ifndef to avoid double negatives.
* Address PR feedback.
* Update method names.
* Revert formatting change to internal file.
* Missed name change and update the changlog.
* Update core readme.
* Fix typo in name and docs as part of rename.
* Address changelog feedback.
* Remove unused headers, update comments, address feedback.
* Rename az_log_filer_fn to az_log_classification_filter_fn.
* Use a different version of the log engine.
* Make az_log_set_classifications internal.
* Update readme, and callsites, fix name, and make things internal.
* Add indentation.
* Update changelog.
* Fix param name in comment.
* Turn az_resut enum values to macros.
* Move the IoT specific macros.
* Add new line.
* Make sure all az_result values have the same type, signed int.
* Use anonymous enums instead of define macros.
* Add names to enums.
* Fixup names and update changelog.
* Add _core suffix to az_result and log.
* Update doc comment to include references to each header.
* Address PR feedback - use alias'd name for cast.
* Revert unrelated, accidental comment formatting change.
* Only create map files if cmake is 3.13 or greater
* Use a module for producting map files
* Review feedback
* Give warning message that map files won't be generated
* Update doxygen version to 1.8.20 to get some recent bug fixes.
* Update the storage docs.
* Revert "Update the storage docs."
This reverts commit 182cd006ff.
* Fix a typo to trigger a new CI run.
* Fix AV in logging when classification array isn't valid and add tests.
* Revert cmakesettings json change.
* Remove unnecessary assert, to docouple sequence of test runs.
* Update null to empty.
* Update tests for when logging is turned off.
* Go back to for-loop instead of while-loop.
* Add another success test for logging.
* Move the validation to a precondition check.
* Rename test.
* Address PR feedback and put ifdef around validation method.
* Apply rename across the tests.
* Do not differentiate between empty and null span - rename macro.
* Update all code paths that relied on az_span_ptr == NULL to
differentiate between a null span and an empty span to use az_span_size
== 0.
* Add test for twin_parse_received_topic with incomplete received_topic.
* Update some doc comments.
* Generate map files
* Only copy map files to staging directory if publishing map files
* Artifact names can't have slashes
* Move PublishMapFiles to a matrix entry where samples are built
* Remove GenerateMapFiles.cmake, use straight-through syntax
* Don't refer to GenerateMapFiles.cmake
* Eliminate one more instance of generate_map_file, Publish map files with preconditions OFF
* Apply suggestions from code review
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* Experiment with release build and size minimizing optimization
* Parameterize build type
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* Add AZ_ERROR_HTTP_NO_MORE_HEADERS and update
az_http_response_get_next_header to return it.
* Update logging test.
* Update changelog.
* Fix test string being compared against.
* Address PR feedback.
* Update docs and changelog.
* Add back the HTTP in fix to the name.
* Move HTTP_ADAPTER to 9 since we added a new error.
* Rename az_failed and az_succeeded to az_result_failed and
az_result_succeeded.
* Add changelog entry.
* Update changes based on merge from master.
* Missed a couple of IoT samples.
* Add back include header that was unintentionally removed.
* Don't reorder certain header includes.
* Add ability to append existing JSON text value to the JSON writer, with
validation.
* Remove unnecessary checks that are unreachable and make value validation
available outside of preconditions.
* Update comment wording to avoid overloading 'value'
* Fix typo in comment.
* Add entry to changelog file.
* Add tests for both valid and invalid scenarios.
* Add some more test cases.
* Uncomment blocked test for apppending partial JSON.
* Address PR feedback and update doc comment. Use new retval format.
* Remove unnecessary new lins in tests.
* Disable SDK warnings for the release configurations.
* Add linker warning workaround for the other iot samples.
* Store the function result as a bool in the precondition test macro to workaround release build optimizations.
* Fix the strict-aliasing issue in _az_isfinite.
* Use memcpy as a workaround for strict aliasing warning.
* Add some more comments and a precondition check on size.
* Remove precondition check since the sizeof comparison was constant.
* Fix similar issue in tests.
* Optimize for code size URL encoding and appending path to request.
* Apply similar improvements to set_q_param where profitable and fix test
to allow partial writing to destination while encoding.
Adding parameter to append_path and set_query_parameter to describe if the values are url-encoded or not.
This changes make sure that the url for the request is always url-encoded
* Fix typos and spacing issues in contributing, security, changelog, issue
templates, and \eng\ markdowns.
* Fix some typos in API doc comments and code.
* Remove changlog file from docs as part of resolving merge conflict.
* Reapply the linter fixes to the moved changelog file.
* Revert changes to SECURITY.md since it doesn't belong in this repo.
* Address PR feedback.
* Add support for reading JSON in non-contiguous buffers, partial.
* Fix up parameter names and add MIN macro.
* Update all az_json_token APIs to account for discontiguous buffers.
* Fix issue with get_boolean by using token slice when possible.
* Update token while reading, and add text equal and get string tests.
* Add tests, update scratch to 99, and fix bugs.
* Add fix for whitespace, sample test, and use less stack space in test.
* Update sample test and make it static.
* Reduce some double test cases and fix up JSON text in comment.
* Change occurrences of white space and white_space to be single word
(whitespace) in APIs and docs.
* Fix more instances that use hyphen as white-space to be single word.
* Change plural whitespaces to whitespace characters.