This is modified version of parson that uses the Checked C extension to C. Parson is a lightweight json parsing library.
Перейти к файлу
microsoft-github-policy-service[bot] f3f9b343ff
Auto merge mandatory file pr
This pr is auto merged as it contains a mandatory file and is opened for more than 10 days.
2023-06-12 19:29:31 +00:00
tests Changes float print format, removes array/object capacity limit, doesn't accept inf/nan numbers. 2017-09-16 16:07:43 +01:00
.gitignore Needs debugging 2019-03-31 23:34:33 -07:00
LICENSE Unmodified parson code with additional c Makefile 2019-03-25 14:42:27 -07:00
Makefile Changes to Makefile and README for translation to CheckedC 2019-03-24 15:43:09 -07:00
Makefile.win Unmodified parson code with additional c Makefile 2019-03-25 14:42:27 -07:00
README.md Update README message with new branch description. (#12) 2019-07-12 11:02:05 -07:00
SECURITY.md Microsoft mandatory file 2023-06-02 18:32:15 +00:00
package.json adding a package.json file 2013-11-24 23:14:48 -05:00
parson.c Fixing compilation errors 2021-04-26 11:48:04 -04:00
parson.h Fixing compilation errors 2021-04-26 11:48:04 -04:00
tests.c A from-scratch checkedc translation. 2019-03-26 20:26:06 -07:00

README.md

About

This Checked C version of parson is a fork of the parson JSON parsing library by kgabis (https://github.com/kgabis/parson)). The code is converted into Checked C to provide bounds guarantees from the compiler (see https://github.com/Microsoft/checkedc for more information). DO NOT USE THIS CODE IN PRODUCTION. It is not kept up to date with the main parson project.

Usage

Requires the checkedc-clang compiler (https://github.com/Microsoft/checkedc-clang) to build. If that is not aliased to clang on your system, edit the Makefile to set CC appropriately.

On UNIX

To build only: make compile

To build and then run the unit tests: make or make test

On Windows

To build only: nmake -f Makefile.win

To build and then run the unit tests nmake -f Makefile.win or nmake -f Makefile.win test

Branches

  • baseline: The original C code that the conversion starts from. Note that this is already behind the main parson project. This branch should pass all 325 unit tests.
  • master: The converted Checked C code. This branch should pass all 325 unit tests.
  • version1-summer-2018: This was our first take at converting parson to Checked C. The master branch has the 2nd take on conversion. It introduces fewer itypes and adds length arguments in a cleaner fashion.

License

The MIT License (MIT)

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.