pax_global_header 0000666 0000000 0000000 00000000064 14465753300 0014521 g ustar 00root root 0000000 0000000 52 comment=b4c371fa0cbc4dcbaccc359ce9e957a22988fb34
json-c-json-c-0.17-20230812/ 0000775 0000000 0000000 00000000000 14465753300 0014727 5 ustar 00root root 0000000 0000000 json-c-json-c-0.17-20230812/.clang-format 0000664 0000000 0000000 00000003321 14465753300 0017301 0 ustar 00root root 0000000 0000000 BasedOnStyle: LLVM
# If true, clang-format will attempt to re-flow comments
ReflowComments: false
# The column limit.
ColumnLimit: 100
# Indent width for line continuations.
ContinuationIndentWidth: 4
# The number of columns to use for indentation.
IndentWidth: 8
# The number of columns used for tab stops.
TabWidth: 8
UseTab: ForIndentation
# Options for aligning backslashes in escaped newlines.
AlignEscapedNewlines: Left
# Short Block Style
AllowShortBlocksOnASingleLine: true
# If true, short case labels will be contracted to a single line.
AllowShortCaseLabelsOnASingleLine: true
# Dependent on the value, int f() { return 0; } can be put on a single line.
AllowShortFunctionsOnASingleLine: Empty
# The brace breaking style to use.
BreakBeforeBraces: Custom
# Control of individual brace wrapping cases.
BraceWrapping:
# Wrap brackets inside of a case
AfterCaseLabel: true
# Wrap class definition.
AfterClass: true
# Wrap control statements
AfterControlStatement: true
# Wrap enum definitions.
AfterEnum: true
# Wrap function definitions.
AfterFunction: true
# Wrap namespace definitions.
AfterNamespace: true
# Wrap struct definitions.
AfterStruct: true
# Wrap union definitions.
AfterUnion: true
# Wrap extern blocks.
AfterExternBlock: false
# Wrap before catch.
BeforeCatch: true
# Wrap before else.
BeforeElse: true
# Indent the wrapped braces themselves.
IndentBraces: false
# If false, empty function body can be put on a single line.
SplitEmptyFunction: false
# If false, empty record (e.g. class, struct or union) body can be put on a single line.
SplitEmptyRecord: false
# If false, empty namespace body can be put on a single line.
SplitEmptyNamespace: false
json-c-json-c-0.17-20230812/.editorconfig 0000664 0000000 0000000 00000000405 14465753300 0017403 0 ustar 00root root 0000000 0000000 # EditorConfig
# https://EditorConfig.org
# top-most EditorConfig file
root = true
# LF end-of-line, insert an empty new line and UTF-8
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
# Tab indentation
[makefile,Makefile]
indent_style = tab
json-c-json-c-0.17-20230812/.github/ 0000775 0000000 0000000 00000000000 14465753300 0016267 5 ustar 00root root 0000000 0000000 json-c-json-c-0.17-20230812/.github/ISSUE_TEMPLATE/ 0000775 0000000 0000000 00000000000 14465753300 0020452 5 ustar 00root root 0000000 0000000 json-c-json-c-0.17-20230812/.github/ISSUE_TEMPLATE/bug_report.md 0000664 0000000 0000000 00000001275 14465753300 0023151 0 ustar 00root root 0000000 0000000 ---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
Note: for general questions and comments, please use the forums at:
https://groups.google.com/g/json-c
**Describe the bug**
A clear and concise description of what the bug is, and any information about where you're running into the bug that you feel might be relevant.
**Steps To Reproduce**
List the steps to reproduce the behavior.
If possible, please attach a sample json file and/or a minimal code example.
**Version and Platform**
- json-c version: [e.g. json-c-0.14, or a specific commit hash]
- OS: [e.g. Ubuntu 20.04, Debian Buster, NetBSD 9, etc...]
- Custom cmake/build flags, if any
json-c-json-c-0.17-20230812/.gitignore 0000664 0000000 0000000 00000002355 14465753300 0016724 0 ustar 00root root 0000000 0000000 # Temp files
*~
*.swp
*.bak
*.backup
\#*
.\#*
*\#
*.sav
*.save
*.autosav
*.autosave
# Tests
/tests/Makefile
/tests/test1
/tests/test1Formatted
/tests/test2
/tests/test2Formatted
/tests/test4
/tests/testReplaceExisting
/tests/testSubDir
/tests/test_cast
/tests/test_charcase
/tests/test_compare
/tests/test_deep_copy
/tests/test_double_serializer
/tests/test_float
/tests/test_int_add
/tests/test_int_get
/tests/test_json_pointer
/tests/test_locale
/tests/test_null
/tests/test_parse
/tests/test_parse_int64
/tests/test_printbuf
/tests/test_set_serializer
/tests/test_set_value
/tests/test_util_file
/tests/test_visit
/tests/*.vg.out
/tests/*.log
/tests/*.trs
# Generated folders
/build
/Debug
/Release
/*/Debug
/*/Release
# Archives
*.zip
*.tar.*
*.tgz
*.gz
*.bz2
*.xz
*.lz
*.lzma
*.7z
*.dll
*.deb
*.rpm
*.apk
*.exe
*.msi
*.dmg
*.ipa
# It's not good practice to build directly in the source tree
# but ignore cmake auto-generated files anyway:
/json_config.h
/json.h
/config.h
/json-c.pc
/Makefile
/CMakeCache.txt
/CMakeFiles
/CMakeDoxyfile.in
/*.cmake
/DartConfiguration.tcl
/tests/CMakeFiles/
/tests/*.cmake
/Testing/
# ...and build artifacts.
/doc/html
/libjson-c.a
/libjson-c.so
/libjson-c.so.*
# Benchmarking input and output
/bench/data
/bench/work
json-c-json-c-0.17-20230812/.travis.yml 0000664 0000000 0000000 00000006675 14465753300 0017056 0 ustar 00root root 0000000 0000000 language: cpp
matrix:
include:
# ubuntu xenial 16.04
# gcc 5 is the default on xenial
- os: linux
dist: xenial
compiler: gcc
addons:
apt:
packages:
- valgrind
- cppcheck
- doxygen
- cmake
env: CHECK="true"
# ubuntu bionic 18.04
# gcc 7 is the default on bionic
- os: linux
dist: bionic
compiler: gcc
addons:
apt:
packages:
- valgrind
- cppcheck
- doxygen
- cmake
env: CHECK="true"
# ubuntu focal fossa 20.04
# gcc 9 is the default on bionic
- os: linux
dist: focal
compiler: gcc
addons:
apt:
packages:
- valgrind
- cppcheck
- doxygen
- cmake
env: CHECK="true"
# clang
# xenial
- os: linux
dist: xenial
compiler: clang
addons:
apt:
sources:
- llvm-toolchain-xenial-6.0
packages:
- clang-6.0
- cmake
env: MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0"
# clang-7 is the default on focal, xenial and bionic
- os: linux
dist: focal
compiler: clang
addons:
apt:
packages:
- valgrind
- cppcheck
- doxygen
- cmake
env: CHECK="true"
# osx
- os: osx
osx_image: xcode13.4
env: XCODE="true" CHECK="true"
# run coveralls
- os: linux
dist: xenial
compiler: gcc
addons:
apt:
packages:
- lcov
env: CHECK="true"
before_install:
- sudo gem install coveralls-lcov
- echo $CC
- echo $LANG
- echo $LC_ALL
- set -e
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then
eval "${MATRIX_EVAL}";
if [ -n "$MATRIX_EVAL" ] && [ "$TRAVIS_COMPILER" != "clang" ]; then
sudo apt-get install -y $CC;
fi;
fi
before_script:
- export CFLAGS="-fprofile-arcs -ftest-coverage"
- mkdir build && cd build && cmake ..
script:
- make
- make test
after_success:
- cd ..
- lcov -d build/ -b . -c -o build/all_coverage.info
- lcov -r build/all_coverage.info '/usr/*' '*CMakeFiles*' '*fuzz*' '*test*' -o build/coverage.info
- coveralls-lcov --verbose build/coverage.info
# allow_failures:
# - os: osx
before_install:
- echo $CC
- echo $LANG
- echo $LC_ALL
- set -e
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then
eval "${MATRIX_EVAL}";
if [ -n "$MATRIX_EVAL" ] && [ "$TRAVIS_COMPILER" != "clang" ]; then
sudo apt-get install -y $CC;
fi;
fi
before_script:
# XXX osx on travis doesn't work w/ set -e, so turn it off :(
- set +e
- mkdir -p build || echo "Failed to mkdir build"
- cd build || echo "Failed to cd build"
- cmake .. || echo "Failed to run cmake"
script:
- make
# when using bionic, Travis seems to ignore the "addons" section, so installing the packages with apt-get...
- if [ -n "$CHECK" ]; then
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
brew install doxygen;
else
if [ "$TRAVIS_DIST" = "bionic" ]; then
sudo apt-get install -y valgrind cppcheck doxygen;
fi;
fi;
make distcheck;
if type cppcheck &> /dev/null ; then cppcheck --error-exitcode=1 --quiet *.h *.c tests/ ; fi;
fi
json-c-json-c-0.17-20230812/AUTHORS 0000664 0000000 0000000 00000005225 14465753300 0016003 0 ustar 00root root 0000000 0000000 Alan Coopersmith JSON-C implements a reference counting object model that allows you to easily
construct JSON objects in C, output them as JSON formatted strings and parse
JSON formatted strings back into the C representation of JSON objects.
It aims to conform to RFC 7159.
To setup JSON-C to build on your system please run configure and make. If you are on Win32 cmake is required, generally: Doxygen generated documentation exists here.JSON-C - A JSON implementation in C
Overview
Building
Documentation
GIT Reposository
git clone https://github.com/json-c/json-c.git
Mailing List
json-c <at> googlegroups <dot> com
This program is free software; you can redistribute it and/or modify it under the terms of the MIT License.