-
Notifications
You must be signed in to change notification settings - Fork 187
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add API for outputting JSON to stream #187
Open
soburi
wants to merge
7
commits into
intel:master
Choose a base branch
from
soburi:json_stream_api
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add cbor_value_to_json_stream(). This is stream output API that similar to cbor_value_to_pretty_stream(). It makes easy handling to various output targets. cbor_value_to_json_stream() is a generalized implementation of cbor_value_to_json_advance(). Replacing all fprintf() and fputs() used by internal functions with CborStreamFunction to handle to various output targets. cbor_value_to_json_advance() remake as a front-end for cbor_value_to_json_stream() that specialized for FILE stream. Signed-off-by: TOKITA, Hiroshi <[email protected]>
cbor_value_to_json_stream() calls cbor_value_to_pretty_stream() with the stream that given for it, for output directly the text that representation of value. It is no need to cache with memstream. In map_to_json(), the map key may be written twice. In such case, keeping iterator copy and use for re-read. Signed-off-by: TOKITA, Hiroshi <[email protected]>
Using cbor_value_to_json_stream() and CborStreamFuction instead of open_memstream(). Signed-off-by: TOKITA, Hiroshi <[email protected]>
As a result of disappearing dependencies to open_memstream(), MSVC got able to use "CBOR to JSON" APIs. Add cbortojson.c to compile target and enable `tojson` tests. Signed-off-by: TOKITA, Hiroshi <[email protected]>
Remove open_memstream.c and related configs that became unneeded with JSON stream API. Signed-off-by: TOKITA, Hiroshi <[email protected]>
soburi
changed the title
Introduce API for outputting JSON to stream
Add API for outputting JSON to stream
Aug 10, 2020
3 days and Travis hasn't run yet... |
Travis is back! |
Will do. Just really busy at work. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add cbor_value_to_json_stream() function to output to a stream for JSON.
It has similar behavior with cbor_value_to_pretty_stream(),
output JSON text instead of pretty formatted text.
cbor_value_to_pretty_stream() that is used to mapkey-to-text convertion
can take over output stream continuously from JSON output process.
Converted text can output directly to a stream,
no more need to buffering with memstream.
The modification makes the source more portable
and reduces the frequents of dynamic memory allocations.