Compare commits
349 Commits
json-c-0.1
...
json_objec
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0710c835a1 | ||
|
|
9128ec49b1 | ||
|
|
5ebfeaedc5 | ||
|
|
4c10712114 | ||
|
|
85c244f048 | ||
|
|
02fe2e0ccd | ||
|
|
ecdfeb18cf | ||
|
|
66d91fdf86 | ||
|
|
c4cc673071 | ||
|
|
0a16b23adf | ||
|
|
eab1375123 | ||
|
|
b0466b626b | ||
|
|
0fc9d91277 | ||
|
|
9ecb1222bd | ||
|
|
0351bb55c8 | ||
|
|
d1f83bf5ea | ||
|
|
5d89fc8a9d | ||
|
|
02b687b9a6 | ||
|
|
853b4b5dee | ||
|
|
4a546e7b2f | ||
|
|
fbe1543644 | ||
|
|
1e94da779a | ||
|
|
61e2bae511 | ||
|
|
fa6a7dccb9 | ||
|
|
cc802039a8 | ||
|
|
12b2e1159d | ||
|
|
8f3592b3d5 | ||
|
|
3008401b2a | ||
|
|
a8a0590921 | ||
|
|
a85d2395ff | ||
|
|
76dd99abb2 | ||
|
|
78642dcb9b | ||
|
|
dd040ba446 | ||
|
|
5b15c7567d | ||
|
|
311c5e5b2b | ||
|
|
5385a566db | ||
|
|
0a3d22b9bb | ||
|
|
1526c84a13 | ||
|
|
add7b13a9a | ||
|
|
d414d3eabc | ||
|
|
2e71fe0963 | ||
|
|
199c52e2db | ||
|
|
3648c3ed2c | ||
|
|
003b58782b | ||
|
|
26f080997d | ||
|
|
06742d6277 | ||
|
|
a59d5acfab | ||
|
|
4f43a077a4 | ||
|
|
519dfe1591 | ||
|
|
45b6416652 | ||
|
|
abc9a0731b | ||
|
|
090ae4e4d4 | ||
|
|
22870ac2bd | ||
|
|
a100573eec | ||
|
|
558ef8609c | ||
|
|
929d74512a | ||
|
|
e97fc20bfd | ||
|
|
31243e4d12 | ||
|
|
d07b910149 | ||
|
|
952db0f397 | ||
|
|
77d935b7ae | ||
|
|
099016b7e8 | ||
|
|
8e3d3d5544 | ||
|
|
c66e7377f3 | ||
|
|
8086314026 | ||
|
|
a555d0e2f2 | ||
|
|
4d36b0287d | ||
|
|
9b64c3e347 | ||
|
|
ee90110f9b | ||
|
|
0e5bbcaa16 | ||
|
|
f9605e9072 | ||
|
|
1059007024 | ||
|
|
d9981f67dd | ||
|
|
00272292a7 | ||
|
|
55d053118e | ||
|
|
f6f76f9430 | ||
|
|
05623b3a2e | ||
|
|
fa6bc1e2d7 | ||
|
|
8b511c402b | ||
|
|
ba4527904a | ||
|
|
2babb5b780 | ||
|
|
31ab57ca8b | ||
|
|
9ed00a694b | ||
|
|
4badbe9c20 | ||
|
|
0a95f98b8d | ||
|
|
ecb9354bb1 | ||
|
|
23ddcbd4da | ||
|
|
5cc11289b4 | ||
|
|
4dc0f1718e | ||
|
|
4313465f25 | ||
|
|
8bdb420d0f | ||
|
|
6bf6a9e248 | ||
|
|
a9114392b4 | ||
|
|
04bb0fca73 | ||
|
|
b14363ae32 | ||
|
|
8c33d1c3c9 | ||
|
|
7fb8d56458 | ||
|
|
053eaa61d7 | ||
|
|
ab5425a6a6 | ||
|
|
511edb51a4 | ||
|
|
2876fcc137 | ||
|
|
8096125618 | ||
|
|
f56c5c1a60 | ||
|
|
74bbe349c4 | ||
|
|
110c60fcdd | ||
|
|
76e1472808 | ||
|
|
d0dc3489dc | ||
|
|
4742a2ab1d | ||
|
|
165e6f58fc | ||
|
|
8269f90956 | ||
|
|
5e699f7f73 | ||
|
|
c58d56ab7c | ||
|
|
d52f1ff2c1 | ||
|
|
d47fb12e85 | ||
|
|
73a2ed115a | ||
|
|
fd0ae5aba6 | ||
|
|
78cd37fb18 | ||
|
|
37355cf0e6 | ||
|
|
270dc2f999 | ||
|
|
0734c5303d | ||
|
|
69ceb38f2f | ||
|
|
0dac15c1ca | ||
|
|
e756777c92 | ||
|
|
58670ec64e | ||
|
|
a989651bd4 | ||
|
|
61392c867f | ||
|
|
0a070ef312 | ||
|
|
545464322b | ||
|
|
b64bdfe381 | ||
|
|
0c60125211 | ||
|
|
95737df9d4 | ||
|
|
96ab2f6596 | ||
|
|
96bb334650 | ||
|
|
f357081b57 | ||
|
|
2782a6b62c | ||
|
|
a86ae1df9a | ||
|
|
829e0829dd | ||
|
|
cf8421c36d | ||
|
|
fb0b653612 | ||
|
|
a3b82cbc77 | ||
|
|
677a8ccf44 | ||
|
|
19bbf2c069 | ||
|
|
5e19c26cae | ||
|
|
9acc4e9d71 | ||
|
|
9a494081cb | ||
|
|
31f1ab2be1 | ||
|
|
8b162c4b89 | ||
|
|
c117d8a8a8 | ||
|
|
a8cec740f0 | ||
|
|
df7833e9a3 | ||
|
|
ed54353d84 | ||
|
|
5d9b8e0fef | ||
|
|
56f81811c2 | ||
|
|
6afcf1606b | ||
|
|
3822177473 | ||
|
|
c2ba379b03 | ||
|
|
203bacb24d | ||
|
|
d1650a582e | ||
|
|
541a0b609a | ||
|
|
353ef26bda | ||
|
|
1204a1fded | ||
|
|
a06339215e | ||
|
|
b15e7ba470 | ||
|
|
e94eb90f9f | ||
|
|
c14c6caa32 | ||
|
|
a8c9284f06 | ||
|
|
0030e905b4 | ||
|
|
e56ab0146f | ||
|
|
b3296e778f | ||
|
|
737aee40c4 | ||
|
|
2d44f865c3 | ||
|
|
6359b79847 | ||
|
|
9532f94fa4 | ||
|
|
1160c8625c | ||
|
|
c816de212b | ||
|
|
30e00cf757 | ||
|
|
e3b6521baa | ||
|
|
5a2b9139f9 | ||
|
|
a0129c9761 | ||
|
|
77d7a99c75 | ||
|
|
0ccb296263 | ||
|
|
f69fbd897b | ||
|
|
3c3b5920f7 | ||
|
|
c684b1d40b | ||
|
|
518f337ce8 | ||
|
|
4bf7ffa984 | ||
|
|
ae13ca524a | ||
|
|
0ffdbb2395 | ||
|
|
1934eddf29 | ||
|
|
7ad72b81c5 | ||
|
|
010f33d460 | ||
|
|
787a8b3f1c | ||
|
|
360d28b961 | ||
|
|
bb5971ba2a | ||
|
|
eca74dcccf | ||
|
|
e651e96a5b | ||
|
|
a255510cca | ||
|
|
8c0cb0bd28 | ||
|
|
0421772bbc | ||
|
|
4bfed6eb2f | ||
|
|
5fe4448541 | ||
|
|
a5089f5a79 | ||
|
|
48ae9e8874 | ||
|
|
ee34939e74 | ||
|
|
424b315ce0 | ||
|
|
1446572997 | ||
|
|
d6b968dff7 | ||
|
|
78d8e5c3d5 | ||
|
|
6c55f65d07 | ||
|
|
0819a55ffb | ||
|
|
37b4da6b92 | ||
|
|
581b94b3bd | ||
|
|
11a638048d | ||
|
|
a92e6d2c28 | ||
|
|
41f434e89f | ||
|
|
b99be9cf4e | ||
|
|
7f30afc6e5 | ||
|
|
f19abcf981 | ||
|
|
bdaff94e9a | ||
|
|
25aedddcdf | ||
|
|
3d3b014971 | ||
|
|
b1ad748842 | ||
|
|
af8dd4a307 | ||
|
|
baed9983b3 | ||
|
|
ac26ea9c5b | ||
|
|
ddd049045d | ||
|
|
7ef51239a9 | ||
|
|
760c1e284c | ||
|
|
eae040a84a | ||
|
|
374ffe87c6 | ||
|
|
05b41b159e | ||
|
|
087534c030 | ||
|
|
d0b87ee87b | ||
|
|
8799623806 | ||
|
|
a91aa5e35d | ||
|
|
509600a7f7 | ||
|
|
4f69529a04 | ||
|
|
dd08b70e46 | ||
|
|
dd0eef6aab | ||
|
|
163db3f6d0 | ||
|
|
1da4b23235 | ||
|
|
a49f1dee8a | ||
|
|
897b49f475 | ||
|
|
b140c473d1 | ||
|
|
6288be340c | ||
|
|
57e79e1d0b | ||
|
|
50e7fff0f3 | ||
|
|
c8e1b59ae5 | ||
|
|
1c7e891e44 | ||
|
|
4a94ddbd8b | ||
|
|
e2f46b9f79 | ||
|
|
68abf12afa | ||
|
|
48984dbd42 | ||
|
|
8ab8df1170 | ||
|
|
a9c34d5531 | ||
|
|
3969487376 | ||
|
|
07ea04e651 | ||
|
|
634900d270 | ||
|
|
44605744dc | ||
|
|
21c886534f | ||
|
|
2b1903cc69 | ||
|
|
485f2a02c7 | ||
|
|
c2036ab9fc | ||
|
|
3e81b4abe3 | ||
|
|
c46a0636c6 | ||
|
|
f1713b3f62 | ||
|
|
259d5078c4 | ||
|
|
6b0745ea1f | ||
|
|
39c9fa0a2b | ||
|
|
3003161eff | ||
|
|
6460446aa6 | ||
|
|
ee4691c9fb | ||
|
|
9c4b07faec | ||
|
|
7a9075c16b | ||
|
|
240627f260 | ||
|
|
745cadc944 | ||
|
|
83cb93b7ae | ||
|
|
2942870325 | ||
|
|
3b108935d0 | ||
|
|
506a32d4ab | ||
|
|
7539ab2d2e | ||
|
|
753de5a5a9 | ||
|
|
80bf857b27 | ||
|
|
aa831c7960 | ||
|
|
fc1b113b29 | ||
|
|
71f5c2d50b | ||
|
|
c3e11d6812 | ||
|
|
dba65cbd30 | ||
|
|
5bb5e2e8fc | ||
|
|
b0bceaa8bf | ||
|
|
3943960874 | ||
|
|
e8cec5c9e4 | ||
|
|
ebe520e96e | ||
|
|
ba5a02e8a9 | ||
|
|
994e6c1f60 | ||
|
|
705e2fd010 | ||
|
|
31d4d3dee7 | ||
|
|
0a8ac2ed92 | ||
|
|
08c8231cc8 | ||
|
|
bf29aa0f8c | ||
|
|
91f9884591 | ||
|
|
d189d7b5ff | ||
|
|
f2e991a341 | ||
|
|
2327b23d8e | ||
|
|
901d59b29f | ||
|
|
3df1f98b4a | ||
|
|
a056893263 | ||
|
|
e3752b5894 | ||
|
|
c1c71097a1 | ||
|
|
fb042f449b | ||
|
|
37a2edf468 | ||
|
|
4bbc72f633 | ||
|
|
7a4759f165 | ||
|
|
4414d068b3 | ||
|
|
7038bb8061 | ||
|
|
dfc0fddf22 | ||
|
|
0b3616d580 | ||
|
|
c75ebe8973 | ||
|
|
8bd62177e7 | ||
|
|
f8c632f579 | ||
|
|
da4b34355d | ||
|
|
104aef0a6e | ||
|
|
2fd95844c3 | ||
|
|
1e301d94be | ||
|
|
1e08150838 | ||
|
|
f8eb1dec64 | ||
|
|
cdc4e9f64b | ||
|
|
250de31f17 | ||
|
|
c652b6ad29 | ||
|
|
d5da847f51 | ||
|
|
0992aac61f | ||
|
|
cfd09c87f0 | ||
|
|
c233f5c05e | ||
|
|
5ea6a05bfa | ||
|
|
9aca3b6a08 | ||
|
|
8c214902d9 | ||
|
|
e411b1a36e | ||
|
|
84dcc01da1 | ||
|
|
87556afe2a | ||
|
|
5b6d62259a | ||
|
|
94fd101601 | ||
|
|
25afa92ed5 | ||
|
|
c123a1c21b | ||
|
|
89747ac758 | ||
|
|
a19031411d | ||
|
|
f83cf244cd | ||
|
|
963e707ca4 | ||
|
|
0631c37c7f | ||
|
|
8c4a941475 |
53
.clang-format
Normal file
@@ -0,0 +1,53 @@
|
||||
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 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
|
||||
23
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
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/forum/#!forum/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
|
||||
52
.gitignore
vendored
@@ -12,9 +12,7 @@
|
||||
*.autosave
|
||||
|
||||
# Tests
|
||||
/test-driver
|
||||
/tests/Makefile
|
||||
/tests/Makefile.in
|
||||
/tests/test1
|
||||
/tests/test1Formatted
|
||||
/tests/test2
|
||||
@@ -44,17 +42,12 @@
|
||||
/tests/*.trs
|
||||
|
||||
# Generated folders
|
||||
/build
|
||||
/Debug
|
||||
/Release
|
||||
/*/Debug
|
||||
/*/Release
|
||||
|
||||
# Generated binaries
|
||||
*.lo
|
||||
*.o
|
||||
/libjson-c.la
|
||||
/libjson.la
|
||||
|
||||
# Archives
|
||||
*.zip
|
||||
*.tar.*
|
||||
@@ -74,38 +67,27 @@
|
||||
*.dmg
|
||||
*.ipa
|
||||
|
||||
.deps/
|
||||
.libs/
|
||||
/aclocal.m4
|
||||
/autoconf-archive
|
||||
/autom4te.cache
|
||||
/config.guess
|
||||
/config.h.in
|
||||
# It's not good practice to build directly in the source tree
|
||||
# but ignore cmake auto-generated files anyway:
|
||||
/json_config.h
|
||||
/compile
|
||||
/config.h
|
||||
/config.log
|
||||
/config.status
|
||||
/config.sub
|
||||
/configure
|
||||
/depcomp
|
||||
/doc
|
||||
/install-sh
|
||||
/json.pc
|
||||
/json-c.pc
|
||||
/json-c-uninstalled.pc
|
||||
/libtool
|
||||
/ltmain.sh
|
||||
/Makefile
|
||||
/Makefile.in
|
||||
/missing
|
||||
/stamp-h1
|
||||
/stamp-h2
|
||||
|
||||
# cmake auto-generated files
|
||||
/CMakeCache.txt
|
||||
/CMakeFiles
|
||||
/cmake_install.cmake
|
||||
/include
|
||||
/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
|
||||
|
||||
157
.travis.yml
@@ -1,32 +1,153 @@
|
||||
language: cpp
|
||||
matrix:
|
||||
include:
|
||||
# gcc
|
||||
# xenial
|
||||
# gcc 5 is the default on xenial
|
||||
- os: linux
|
||||
dist: xenial
|
||||
compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- valgrind
|
||||
- cppcheck
|
||||
- doxygen
|
||||
- cmake
|
||||
env: CHECK="true"
|
||||
# bionic
|
||||
- os: linux
|
||||
dist: bionic
|
||||
compiler: gcc
|
||||
env: MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
|
||||
|
||||
compiler:
|
||||
- gcc
|
||||
- clang
|
||||
# gcc 7 is the default on bionic
|
||||
- os: linux
|
||||
dist: bionic
|
||||
compiler: gcc
|
||||
env: CHECK="true"
|
||||
- os: linux
|
||||
dist: bionic
|
||||
compiler: gcc
|
||||
env: MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- cppcheck
|
||||
# clang
|
||||
# xenial
|
||||
- os: linux
|
||||
dist: xenial
|
||||
compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- llvm-toolchain-xenial-5.0
|
||||
packages:
|
||||
- clang-5.0
|
||||
- cmake
|
||||
env: MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"
|
||||
- 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"
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
# clang-7 is the default on xenial and bionic
|
||||
- os: linux
|
||||
dist: xenial
|
||||
compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- valgrind
|
||||
- cppcheck
|
||||
- doxygen
|
||||
- cmake
|
||||
env: CHECK="true"
|
||||
|
||||
# bionic
|
||||
- os: linux
|
||||
dist: bionic
|
||||
compiler: clang
|
||||
env: CHECK="true"
|
||||
# osx
|
||||
- os: osx
|
||||
osx_image: xcode9.4
|
||||
env: XCODE="true"
|
||||
- os: osx
|
||||
osx_image: xcode10.1
|
||||
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
|
||||
|
||||
install:
|
||||
- sh autogen.sh
|
||||
- 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:
|
||||
- ./configure
|
||||
# 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
|
||||
|
||||
after_success:
|
||||
- make check
|
||||
- if type cppcheck &> /dev/null ; then cppcheck --error-exitcode=1 --quiet *.h *.c tests/ ; fi
|
||||
# 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
|
||||
|
||||
33
AUTHORS
@@ -1,5 +1,30 @@
|
||||
Michael Clark <michael@metaparadigm.com>
|
||||
Jehiah Czebotar <jehiah@gmail.com>
|
||||
Eric Haszlakiewicz <hawicz+json-c@gmail.com>
|
||||
Alexander Dahl <post@lespocky.de>
|
||||
andy5995 <andy400-dev@yahoo.com>
|
||||
Björn Esser <besser82@fedoraproject.org>
|
||||
changyong guo <guo1487@163.com>
|
||||
chenguoping <chenguopingdota@163.com>
|
||||
Christopher Head <chead@chead.ca>
|
||||
Chris Wolfe <chriswwolfe@gmail.com>
|
||||
C. Watford (christopher.watford@gmail.com)
|
||||
|
||||
Darjan Krijan <darjan_krijan@gmx.de>
|
||||
Eric Hawicz <erh+git@nimenees.com>
|
||||
grdowns <grdowns@microsoft.com>
|
||||
Ivan Romanov <drizt@land.ru>
|
||||
Jaap Keuter <jaap.keuter@xs4all.nl>
|
||||
janczer <menshikov.ivn@gmail.com>
|
||||
Jehan <jehan@girinstud.io>
|
||||
Jehiah Czebotar <jehiah@gmail.com>
|
||||
Jonathan Wiens <j.wiens@teles.com>
|
||||
Jose Bollo <jose.bollo@iot.bzh>
|
||||
Keith Holman <keith.holman@windriver.com>
|
||||
Liang, Gao <liang.gao@intel.com>
|
||||
max <mpano91@gmail.com>
|
||||
Michael Clark <michael@metaparadigm.com>
|
||||
myd7349 <myd7349@gmail.com>
|
||||
Pierce Lopez <pierce.lopez@gmail.com>
|
||||
Po-Chuan Hsieh <sunpoet@sunpoet.net>
|
||||
Ramiro Polla <ramiro.polla@gmail.com>
|
||||
Rikard Falkeborn <rikard.falkeborn@gmail.com>
|
||||
Robert <roby_p97@yahoo.com>
|
||||
Rubasri Kalidas <rubasri.kalidas@intel.com>
|
||||
Unmanned Player <36690541+unmanned-player@users.noreply.github.com>
|
||||
|
||||
557
CMakeLists.txt
@@ -1,136 +1,463 @@
|
||||
#Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
# Many projects still are stuck using CMake 2.8 is several places so it's good to provide backward support too. This is
|
||||
# specially true in old embedded systems (OpenWRT and friends) where CMake isn't necessarily upgraded.
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.7)
|
||||
cmake_policy(SET CMP0048 NEW)
|
||||
project(json-c VERSION 0.13.1)
|
||||
|
||||
|
||||
include(CheckSymbolExists)
|
||||
|
||||
check_symbol_exists(strtoll "stdlib.h" HAVE_STRTOLL)
|
||||
|
||||
set(cmake_strtoll "strtoll")
|
||||
if (NOT HAVE_STRTOLL)
|
||||
# Use _strtoi64 if strtoll is not available.
|
||||
check_symbol_exists(_strtoi64 stdlib.h have_strtoi64)
|
||||
if (have_strtoi64)
|
||||
set(HAVE_STRTOLL 1)
|
||||
set(cmake_strtoll "_strtoi64")
|
||||
# could do the same for strtoull, if needed
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
|
||||
|
||||
if(MSVC)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4100 /wd4996 /wd4244 /wd4706 /wd4702 /wd4127 /wd4701")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4100 /wd4996 /wd4244 /wd4706 /wd4702 /wd4127 /wd4701")
|
||||
set(cmake_create_config 1)
|
||||
elseif(MINGW)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -D_GNU_SOURCE=1")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror -D_GNU_SOURCE=1")
|
||||
if (MSYS OR CMAKE_GENERATOR STREQUAL "Unix Makefiles")
|
||||
execute_process(COMMAND echo ${CMAKE_CURRENT_SOURCE_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
execute_process(COMMAND sh autogen.sh WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
execute_process(COMMAND sh ./configure WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
file(COPY ./config.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/include/)
|
||||
file(COPY ./json_config.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/include/)
|
||||
else()
|
||||
set(cmake_create_config 1)
|
||||
endif()
|
||||
elseif(UNIX)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror -D_GNU_SOURCE")
|
||||
execute_process(COMMAND echo ${CMAKE_CURRENT_SOURCE_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
execute_process(COMMAND sh autogen.sh WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
execute_process(COMMAND ./configure WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
file(COPY ./config.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/include/)
|
||||
file(COPY ./json_config.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/include/)
|
||||
if(POLICY CMP0048)
|
||||
cmake_policy(SET CMP0048 NEW)
|
||||
endif()
|
||||
|
||||
if (cmake_create_config)
|
||||
file(REMOVE ./config.h) # make sure any stale one is gone
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.win32 ${CMAKE_CURRENT_BINARY_DIR}/include/config.h)
|
||||
file(COPY ./json_config.h.win32 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/include/)
|
||||
file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/include/json_config.h.win32 ${CMAKE_CURRENT_BINARY_DIR}/include/json_config.h)
|
||||
endif ()
|
||||
# JSON-C library is C only project.
|
||||
project(json-c LANGUAGES C VERSION 0.14.99)
|
||||
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR}/include)
|
||||
# If we've got 3.0 then it's good, let's provide support. Otherwise, leave it be.
|
||||
if(POLICY CMP0038)
|
||||
# Policy CMP0038 introduced was in CMake 3.0
|
||||
cmake_policy(SET CMP0038 NEW)
|
||||
endif()
|
||||
|
||||
if(POLICY CMP0054)
|
||||
cmake_policy(SET CMP0054 NEW)
|
||||
endif()
|
||||
|
||||
# set default build type if not specified by user
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE debug)
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2")
|
||||
|
||||
# Include file check macros honor CMAKE_REQUIRED_LIBRARIES
|
||||
# i.e. the check_include_file() calls will include -lm when checking.
|
||||
if(POLICY CMP0075)
|
||||
cmake_policy(SET CMP0075 NEW)
|
||||
endif()
|
||||
|
||||
include(CTest)
|
||||
|
||||
if (CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND BUILD_TESTING AND
|
||||
(NOT MSVC OR NOT (MSVC_VERSION LESS 1800)) # Tests need at least VS2013
|
||||
)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
if (NOT MSVC) # cmd line apps don't built on Windows currently.
|
||||
add_subdirectory(apps)
|
||||
endif()
|
||||
|
||||
# Set some packaging variables.
|
||||
set(CPACK_PACKAGE_NAME "${PROJECT_NAME}")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}")
|
||||
set(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}")
|
||||
set(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}")
|
||||
set(JSON_C_BUGREPORT "json-c@googlegroups.com")
|
||||
set(CPACK_SOURCE_IGNORE_FILES
|
||||
${PROJECT_SOURCE_DIR}/build
|
||||
${PROJECT_SOURCE_DIR}/cmake-build-debug
|
||||
${PROJECT_SOURCE_DIR}/pack
|
||||
${PROJECT_SOURCE_DIR}/.idea
|
||||
${PROJECT_SOURCE_DIR}/.DS_Store
|
||||
${PROJECT_SOURCE_DIR}/.git
|
||||
${PROJECT_SOURCE_DIR}/.vscode)
|
||||
|
||||
include(CheckSymbolExists)
|
||||
include(CheckIncludeFile)
|
||||
include(CheckIncludeFiles)
|
||||
include(CheckCSourceCompiles)
|
||||
include(CheckTypeSize)
|
||||
include(CPack)
|
||||
include(GNUInstallDirs)
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
option(BUILD_SHARED_LIBS "Default to building shared libraries" ON)
|
||||
option(BUILD_STATIC_LIBS "Default to building static libraries" ON)
|
||||
|
||||
# Generate a release merge and test it to verify the correctness of republishing the package.
|
||||
ADD_CUSTOM_TARGET(distcheck
|
||||
COMMAND make package_source
|
||||
COMMAND tar -xvf "${PROJECT_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-Source.tar.gz"
|
||||
COMMAND mkdir "${PROJECT_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-Source/build"
|
||||
COMMAND cmake "${PROJECT_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-Source/" -B"./${PROJECT_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-Source/build/"
|
||||
COMMAND make -C "${PROJECT_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-Source/build"
|
||||
COMMAND make test -C "${PROJECT_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-Source/build"
|
||||
COMMAND rm -rf "${PROJECT_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-Source"
|
||||
)
|
||||
|
||||
# Enable or disable features. By default, all features are turned off.
|
||||
option(DISABLE_BSYMBOLIC "Avoid linking with -Bsymbolic-function." OFF)
|
||||
option(DISABLE_THREAD_LOCAL_STORAGE "Disable using Thread-Local Storage (HAVE___THREAD)." OFF)
|
||||
option(DISABLE_WERROR "Avoid treating compiler warnings as fatal errors." OFF)
|
||||
option(ENABLE_RDRAND "Enable RDRAND Hardware RNG Hash Seed." OFF)
|
||||
option(ENABLE_THREADING "Enable partial threading support." OFF)
|
||||
|
||||
if (UNIX OR MINGW OR CYGWIN)
|
||||
list(APPEND CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
|
||||
endif()
|
||||
|
||||
if (UNIX)
|
||||
list(APPEND CMAKE_REQUIRED_LIBRARIES m)
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
list(APPEND CMAKE_REQUIRED_DEFINITIONS /D_CRT_SECURE_NO_DEPRECATE)
|
||||
list(APPEND CMAKE_REQUIRED_FLAGS /wd4996)
|
||||
endif()
|
||||
|
||||
check_include_file("fcntl.h" HAVE_FCNTL_H)
|
||||
check_include_file("inttypes.h" HAVE_INTTYPES_H)
|
||||
check_include_file(stdarg.h HAVE_STDARG_H)
|
||||
check_include_file(strings.h HAVE_STRINGS_H)
|
||||
check_include_file(string.h HAVE_STRING_H)
|
||||
check_include_file(syslog.h HAVE_SYSLOG_H)
|
||||
|
||||
|
||||
check_include_files("stdlib.h;stdarg.h;string.h;float.h" STDC_HEADERS)
|
||||
|
||||
check_include_file(unistd.h HAVE_UNISTD_H)
|
||||
check_include_file(sys/types.h HAVE_SYS_TYPES_H)
|
||||
check_include_file(sys/resource.h HAVE_SYS_RESOURCE_H) # for getrusage
|
||||
|
||||
check_include_file("dlfcn.h" HAVE_DLFCN_H)
|
||||
check_include_file("endian.h" HAVE_ENDIAN_H)
|
||||
check_include_file("limits.h" HAVE_LIMITS_H)
|
||||
check_include_file("locale.h" HAVE_LOCALE_H)
|
||||
check_include_file("memory.h" HAVE_MEMORY_H)
|
||||
|
||||
check_include_file(stdint.h HAVE_STDINT_H)
|
||||
check_include_file(stdlib.h HAVE_STDLIB_H)
|
||||
check_include_file(sys/cdefs.h HAVE_SYS_CDEFS_H)
|
||||
check_include_file(sys/param.h HAVE_SYS_PARAM_H)
|
||||
check_include_file(sys/stat.h HAVE_SYS_STAT_H)
|
||||
check_include_file(xlocale.h HAVE_XLOCALE_H)
|
||||
|
||||
if (HAVE_INTTYPES_H AND NOT MSVC)
|
||||
set(JSON_C_HAVE_INTTYPES_H 1)
|
||||
endif()
|
||||
|
||||
check_symbol_exists(_isnan "float.h" HAVE_DECL__ISNAN)
|
||||
check_symbol_exists(_finite "float.h" HAVE_DECL__FINITE)
|
||||
|
||||
if ((MSVC AND NOT (MSVC_VERSION LESS 1800)) OR MINGW OR CYGWIN OR UNIX)
|
||||
check_symbol_exists(INFINITY "math.h" HAVE_DECL_INFINITY)
|
||||
check_symbol_exists(isinf "math.h" HAVE_DECL_ISINF)
|
||||
check_symbol_exists(isnan "math.h" HAVE_DECL_ISNAN)
|
||||
check_symbol_exists(nan "math.h" HAVE_DECL_NAN)
|
||||
endif()
|
||||
|
||||
check_symbol_exists(_doprnt "stdio.h" HAVE_DOPRNT)
|
||||
if (UNIX OR MINGW OR CYGWIN)
|
||||
check_symbol_exists(snprintf "stdio.h" HAVE_SNPRINTF)
|
||||
endif()
|
||||
check_symbol_exists(vasprintf "stdio.h" HAVE_VASPRINTF)
|
||||
check_symbol_exists(vsnprintf "stdio.h" HAVE_VSNPRINTF)
|
||||
check_symbol_exists(vprintf "stdio.h" HAVE_VPRINTF)
|
||||
|
||||
if (HAVE_FCNTL_H)
|
||||
check_symbol_exists(open "fcntl.h" HAVE_OPEN)
|
||||
endif()
|
||||
if (HAVE_STDLIB_H)
|
||||
check_symbol_exists(realloc "stdlib.h" HAVE_REALLOC)
|
||||
endif()
|
||||
if (HAVE_LOCALE_H)
|
||||
check_symbol_exists(setlocale "locale.h" HAVE_SETLOCALE)
|
||||
check_symbol_exists(uselocale "locale.h" HAVE_USELOCALE)
|
||||
endif()
|
||||
if (HAVE_STRINGS_H)
|
||||
check_symbol_exists(strcasecmp "strings.h" HAVE_STRCASECMP)
|
||||
check_symbol_exists(strncasecmp "strings.h" HAVE_STRNCASECMP)
|
||||
endif()
|
||||
if (HAVE_STRING_H)
|
||||
check_symbol_exists(strdup "string.h" HAVE_STRDUP)
|
||||
check_symbol_exists(strerror "string.h" HAVE_STRERROR)
|
||||
endif()
|
||||
if (HAVE_SYSLOG_H)
|
||||
check_symbol_exists(vsyslog "syslog.h" HAVE_VSYSLOG)
|
||||
endif()
|
||||
if (HAVE_SYS_RESOURCE_H)
|
||||
check_symbol_exists(getrusage "sys/resource.h" HAVE_GETRUSAGE)
|
||||
endif()
|
||||
|
||||
check_symbol_exists(strtoll "stdlib.h" HAVE_STRTOLL)
|
||||
check_symbol_exists(strtoull "stdlib.h" HAVE_STRTOULL)
|
||||
|
||||
set(json_c_strtoll "strtoll")
|
||||
if (NOT HAVE_STRTOLL)
|
||||
# Use _strtoi64 if strtoll is not available.
|
||||
check_symbol_exists(_strtoi64 "stdlib.h" __have_strtoi64)
|
||||
if (__have_strtoi64)
|
||||
#set(HAVE_STRTOLL 1)
|
||||
set(json_c_strtoll "_strtoi64")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(json_c_strtoull "strtoull")
|
||||
if (NOT HAVE_STRTOULL)
|
||||
# Use _strtoui64 if strtoull is not available.
|
||||
check_symbol_exists(_strtoui64 "stdlib.h" __have_strtoui64)
|
||||
if (__have_strtoui64)
|
||||
#set(HAVE_STRTOULL 1)
|
||||
set(json_c_strtoull "_strtoui64")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
check_type_size(int SIZEOF_INT)
|
||||
check_type_size(int64_t SIZEOF_INT64_T)
|
||||
check_type_size(long SIZEOF_LONG)
|
||||
check_type_size("long long" SIZEOF_LONG_LONG)
|
||||
check_type_size("size_t" SIZEOF_SIZE_T)
|
||||
if (MSVC)
|
||||
list(APPEND CMAKE_EXTRA_INCLUDE_FILES BaseTsd.h)
|
||||
check_type_size("SSIZE_T" SIZEOF_SSIZE_T)
|
||||
else()
|
||||
check_type_size("ssize_t" SIZEOF_SSIZE_T)
|
||||
endif()
|
||||
|
||||
check_c_source_compiles(
|
||||
[=[
|
||||
extern void json_object_get();
|
||||
__asm__(".section .gnu.json_object_get\\n\\t.ascii \\"Please link against libjson-c instead of libjson\\"\\n\\t.text");
|
||||
int main(int c, char *v) { return 0;}
|
||||
]=]
|
||||
HAS_GNU_WARNING_LONG)
|
||||
|
||||
check_c_source_compiles(
|
||||
"int main() { int i, x = 0; i = __sync_add_and_fetch(&x,1); return x; }"
|
||||
HAVE_ATOMIC_BUILTINS)
|
||||
|
||||
if (NOT DISABLE_THREAD_LOCAL_STORAGE)
|
||||
check_c_source_compiles(
|
||||
"__thread int x = 0; int main() { return 0; }"
|
||||
HAVE___THREAD)
|
||||
|
||||
if (HAVE___THREAD)
|
||||
set(SPEC___THREAD __thread)
|
||||
elseif (MSVC)
|
||||
set(SPEC___THREAD __declspec(thread))
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Hardware random number is not available on Windows? Says, config.h.win32. Best to preserve compatibility.
|
||||
if (WIN32)
|
||||
set(ENABLE_RDRAND 0)
|
||||
endif()
|
||||
|
||||
# Once we've done basic symbol/header searches let's add them in.
|
||||
configure_file(${PROJECT_SOURCE_DIR}/cmake/config.h.in ${PROJECT_BINARY_DIR}/config.h)
|
||||
message(STATUS "Wrote ${PROJECT_BINARY_DIR}/config.h")
|
||||
configure_file(${PROJECT_SOURCE_DIR}/cmake/json_config.h.in ${PROJECT_BINARY_DIR}/json_config.h)
|
||||
message(STATUS "Wrote ${PROJECT_BINARY_DIR}/json_config.h")
|
||||
|
||||
if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffunction-sections -fdata-sections")
|
||||
if ("${DISABLE_WERROR}" STREQUAL "OFF")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
|
||||
endif()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wcast-qual")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error=deprecated-declarations")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wwrite-strings")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-parameter")
|
||||
if (NOT WIN32)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wstrict-prototypes")
|
||||
endif()
|
||||
|
||||
add_definitions(-D_GNU_SOURCE)
|
||||
elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /DEBUG")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4100")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4244")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4706")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4702")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4127")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4701")
|
||||
endif()
|
||||
|
||||
if (NOT ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC"))
|
||||
check_c_source_compiles(
|
||||
[=[
|
||||
/* uClibc toolchains without threading barf when _REENTRANT is defined */
|
||||
#define _REENTRANT 1
|
||||
#include <sys/types.h>
|
||||
int main (void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
]=]
|
||||
REENTRANT_WORKS
|
||||
)
|
||||
if (REENTRANT_WORKS)
|
||||
add_compile_options("-D_REENTRANT")
|
||||
endif()
|
||||
|
||||
# OSX Mach-O doesn't support linking with '-Bsymbolic-functions'.
|
||||
# Others may not support it, too.
|
||||
list(APPEND CMAKE_REQUIRED_LIBRARIES "-Wl,-Bsymbolic-functions")
|
||||
check_c_source_compiles(
|
||||
[=[
|
||||
int main (void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
]=]
|
||||
BSYMBOLIC_WORKS
|
||||
)
|
||||
list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES "-Wl,-Bsymbolic-functions")
|
||||
if (DISABLE_BSYMBOLIC STREQUAL "OFF" AND BSYMBOLIC_WORKS)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-Bsymbolic-functions")
|
||||
# XXX need cmake>=3.13 for this:
|
||||
#add_link_options("-Wl,-Bsymbolic-functions")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if ($ENV{VALGRIND})
|
||||
# Build so that valgrind doesn't complain about linkhash.c
|
||||
add_definitions(-DVALGRIND=1)
|
||||
endif()
|
||||
|
||||
set(JSON_C_PUBLIC_HEADERS
|
||||
./json.h
|
||||
${CMAKE_CURRENT_BINARY_DIR}/include/config.h
|
||||
${CMAKE_CURRENT_BINARY_DIR}/include/json_config.h
|
||||
./arraylist.h
|
||||
./debug.h
|
||||
./json_c_version.h
|
||||
./json_inttypes.h
|
||||
./json_object.h
|
||||
./json_pointer.h
|
||||
./json_tokener.h
|
||||
./json_util.h
|
||||
./linkhash.h
|
||||
./printbuf.h
|
||||
# Note: config.h is _not_ included here
|
||||
${PROJECT_BINARY_DIR}/json_config.h
|
||||
|
||||
${PROJECT_SOURCE_DIR}/json.h
|
||||
${PROJECT_SOURCE_DIR}/arraylist.h
|
||||
${PROJECT_SOURCE_DIR}/debug.h
|
||||
${PROJECT_SOURCE_DIR}/json_c_version.h
|
||||
${PROJECT_SOURCE_DIR}/json_inttypes.h
|
||||
${PROJECT_SOURCE_DIR}/json_object.h
|
||||
${PROJECT_SOURCE_DIR}/json_object_iterator.h
|
||||
${PROJECT_SOURCE_DIR}/json_pointer.h
|
||||
${PROJECT_SOURCE_DIR}/json_tokener.h
|
||||
${PROJECT_SOURCE_DIR}/json_types.h
|
||||
${PROJECT_SOURCE_DIR}/json_util.h
|
||||
${PROJECT_SOURCE_DIR}/json_visit.h
|
||||
${PROJECT_SOURCE_DIR}/linkhash.h
|
||||
${PROJECT_SOURCE_DIR}/printbuf.h
|
||||
)
|
||||
|
||||
set(JSON_C_HEADERS
|
||||
${JSON_C_PUBLIC_HEADERS}
|
||||
./json_object_private.h
|
||||
./random_seed.h
|
||||
./strerror_override.h
|
||||
./strerror_override_private.h
|
||||
./math_compat.h
|
||||
./snprintf_compat.h
|
||||
./strdup_compat.h
|
||||
./vasprintf_compat.h
|
||||
${PROJECT_SOURCE_DIR}/json_object_private.h
|
||||
${PROJECT_SOURCE_DIR}/random_seed.h
|
||||
${PROJECT_SOURCE_DIR}/strerror_override.h
|
||||
${PROJECT_SOURCE_DIR}/strerror_override_private.h
|
||||
${PROJECT_SOURCE_DIR}/math_compat.h
|
||||
${PROJECT_SOURCE_DIR}/snprintf_compat.h
|
||||
${PROJECT_SOURCE_DIR}/strdup_compat.h
|
||||
${PROJECT_SOURCE_DIR}/vasprintf_compat.h
|
||||
)
|
||||
|
||||
set(JSON_C_SOURCES
|
||||
./arraylist.c
|
||||
./debug.c
|
||||
./json_c_version.c
|
||||
./json_object.c
|
||||
./json_object_iterator.c
|
||||
./json_pointer.c
|
||||
./json_tokener.c
|
||||
./json_util.c
|
||||
./json_visit.c
|
||||
./linkhash.c
|
||||
./printbuf.c
|
||||
./random_seed.c
|
||||
./strerror_override.c
|
||||
${PROJECT_SOURCE_DIR}/arraylist.c
|
||||
${PROJECT_SOURCE_DIR}/debug.c
|
||||
${PROJECT_SOURCE_DIR}/json_c_version.c
|
||||
${PROJECT_SOURCE_DIR}/json_object.c
|
||||
${PROJECT_SOURCE_DIR}/json_object_iterator.c
|
||||
${PROJECT_SOURCE_DIR}/json_pointer.c
|
||||
${PROJECT_SOURCE_DIR}/json_tokener.c
|
||||
${PROJECT_SOURCE_DIR}/json_util.c
|
||||
${PROJECT_SOURCE_DIR}/json_visit.c
|
||||
${PROJECT_SOURCE_DIR}/linkhash.c
|
||||
${PROJECT_SOURCE_DIR}/printbuf.c
|
||||
${PROJECT_SOURCE_DIR}/random_seed.c
|
||||
${PROJECT_SOURCE_DIR}/strerror_override.c
|
||||
)
|
||||
|
||||
add_library(json-c
|
||||
SHARED
|
||||
include_directories(${PROJECT_SOURCE_DIR})
|
||||
include_directories(${PROJECT_BINARY_DIR})
|
||||
|
||||
add_subdirectory(doc)
|
||||
|
||||
# uninstall
|
||||
add_custom_target(uninstall
|
||||
COMMAND cat ${PROJECT_BINARY_DIR}/install_manifest.txt | xargs rm
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
# XXX for a normal full distribution we'll need to figure out
|
||||
# XXX how to build both shared and static libraries.
|
||||
# Probably leverage that to build a local VALGRIND=1 library for testing too.
|
||||
add_library(${PROJECT_NAME}
|
||||
${JSON_C_SOURCES}
|
||||
${JSON_C_HEADERS}
|
||||
)
|
||||
|
||||
add_library(json-c-static
|
||||
STATIC
|
||||
${JSON_C_SOURCES}
|
||||
${JSON_C_HEADERS}
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||
VERSION 5.0.0
|
||||
SOVERSION 5)
|
||||
list(APPEND CMAKE_TARGETS ${PROJECT_NAME})
|
||||
# If json-c is used as subroject it set to target correct interface -I flags and allow
|
||||
# to build external target without extra include_directories(...)
|
||||
target_include_directories(${PROJECT_NAME}
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
|
||||
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
|
||||
)
|
||||
|
||||
set_property(TARGET json-c PROPERTY C_STANDARD 99)
|
||||
set_property(TARGET json-c-static PROPERTY C_STANDARD 99)
|
||||
set_target_properties(json-c-static PROPERTIES OUTPUT_NAME json-c)
|
||||
# Allow to build static and shared libraries at the same time
|
||||
if (BUILD_STATIC_LIBS AND BUILD_SHARED_LIBS)
|
||||
set(STATIC_LIB ${PROJECT_NAME}-static)
|
||||
add_library(${STATIC_LIB} STATIC
|
||||
${JSON_C_SOURCES}
|
||||
${JSON_C_HEADERS}
|
||||
)
|
||||
|
||||
install(TARGETS json-c json-c-static
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib
|
||||
)
|
||||
|
||||
install(FILES ${JSON_C_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/json-c )
|
||||
|
||||
if (UNIX)
|
||||
set(prefix ${CMAKE_INSTALL_PREFIX})
|
||||
set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin)
|
||||
set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
set(includedir ${CMAKE_INSTALL_PREFIX}/include)
|
||||
set(VERSION ${PROJECT_VERSION})
|
||||
configure_file(json-c.pc.in json-c.pc @ONLY)
|
||||
set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
|
||||
install(FILES ${CMAKE_BINARY_DIR}/json-c.pc DESTINATION "${INSTALL_PKGCONFIG_DIR}")
|
||||
# rename the static library
|
||||
if (NOT MSVC)
|
||||
set_target_properties(${STATIC_LIB} PROPERTIES
|
||||
OUTPUT_NAME ${PROJECT_NAME}
|
||||
)
|
||||
endif()
|
||||
list(APPEND CMAKE_TARGETS ${STATIC_LIB})
|
||||
endif ()
|
||||
|
||||
# Always create new install dirs with 0755 permissions, regardless of umask
|
||||
set(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
|
||||
OWNER_READ
|
||||
OWNER_WRITE
|
||||
OWNER_EXECUTE
|
||||
GROUP_READ
|
||||
GROUP_EXECUTE
|
||||
WORLD_READ
|
||||
WORLD_EXECUTE
|
||||
)
|
||||
|
||||
install(TARGETS ${CMAKE_TARGETS}
|
||||
EXPORT ${PROJECT_NAME}-targets
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||
)
|
||||
|
||||
install(EXPORT ${PROJECT_NAME}-targets
|
||||
FILE ${PROJECT_NAME}-targets.cmake
|
||||
NAMESPACE ${PROJECT_NAME}::
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||
)
|
||||
|
||||
configure_package_config_file(
|
||||
"cmake/Config.cmake.in"
|
||||
${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
|
||||
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
|
||||
)
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||
)
|
||||
|
||||
if (UNIX OR MINGW OR CYGWIN)
|
||||
SET(prefix ${CMAKE_INSTALL_PREFIX})
|
||||
# exec_prefix is prefix by default and CMake does not have the
|
||||
# concept.
|
||||
SET(exec_prefix ${CMAKE_INSTALL_PREFIX})
|
||||
SET(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
|
||||
SET(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
|
||||
SET(VERSION ${PROJECT_VERSION})
|
||||
configure_file(json-c.pc.in json-c.pc @ONLY)
|
||||
set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
|
||||
install(FILES ${PROJECT_BINARY_DIR}/json-c.pc DESTINATION "${INSTALL_PKGCONFIG_DIR}")
|
||||
endif ()
|
||||
|
||||
install(FILES ${JSON_C_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/json-c)
|
||||
|
||||
107
ChangeLog
@@ -1,4 +1,106 @@
|
||||
|
||||
Next Release 0.15
|
||||
=====================
|
||||
|
||||
Deprecated and removed features:
|
||||
--------------------------------
|
||||
...none yet...
|
||||
|
||||
Other changes
|
||||
--------------
|
||||
* Add a json_parse binary, for use in testing changes (not installed).
|
||||
* Issue #471: always create directories with mode 0755, regardless of umask.
|
||||
* Added a JSON_TOKENER_ALLOW_TRAILING_CHARS flag to allow multiple objects
|
||||
to be parsed even when JSON_TOKENER_STRICT is set.
|
||||
* Split the internal json_object structure into several sub-types, one for
|
||||
each json_type (json_object_object, json_object_string, etc...).
|
||||
This improves memory usage and speed, with the benchmark under
|
||||
bench/ report 5.8% faster test time and 6%(max RSS)-12%(peak heap)
|
||||
less memory usage.
|
||||
Memory used just for json_object structures decreased 27%, so use cases
|
||||
with fewer arrays and/or strings would benefit more.
|
||||
|
||||
|
||||
***
|
||||
|
||||
0.14 (up to commit 9ed00a6, 2020/04/14)
|
||||
=========================================
|
||||
|
||||
Deprecated and removed features:
|
||||
--------------------------------
|
||||
* bits.h has been removed
|
||||
* lh_abort() has been removed
|
||||
* lh_table_lookup() has been removed, use lh_table_lookup_ex() instead.
|
||||
* Remove TRUE and FALSE defines, use 1 and 0 instead.
|
||||
|
||||
Build changes:
|
||||
--------------
|
||||
## Deprecated and removed features:
|
||||
* bits.h has been removed
|
||||
* lh_abort() has been removed
|
||||
* lh_table_lookup() has been removed, use lh_table_lookup_ex() instead.
|
||||
* Remove TRUE and FALSE defines, use 1 and 0 instead.
|
||||
* autoconf support, including autogen.sh, has been removed. See details about cmake, below.
|
||||
* With the addition of json_tokener_get_parse_end(), access to internal fields of json_tokener, as well as use of many other symbols and types in json_tokener.h, is deprecated now.
|
||||
* The use of Android.configure.mk to build for Android no longer works, and it is unknown how (or if) the new cmake-based build machinery can be used.
|
||||
* Reports of success, or pull requests to correct issues are welcome.
|
||||
|
||||
## Notable improvements and new features
|
||||
|
||||
### Builds and documentation
|
||||
* Build machinery has been switched to CMake. See README.md for details about how to build.
|
||||
* TL;DR: `mkdir build ; cd build ; cmake -DCMAKE_INSTALL_PREFIX=/some/path ../json-c ; make all test install`
|
||||
* To ease the transition, there is a `cmake-configure` wrapper that emulates the old autoconf-based configure script.
|
||||
* This has enabled improvements to the build on Windows system; also all public functions have been fixed to be properly exported. For best results, use Visual Studio 2015 or newer.
|
||||
* The json-c style guide has been updated to specify the use of clang-format, and all code has been reformatted.
|
||||
* Since many lines of code have trivial changes now, when using git blame, be sure to specify -w
|
||||
* Numerous improvements have been made to the documentation including function effects on refcounts, when passing a NULL is safe, and so on.
|
||||
|
||||
### json_tokener changes
|
||||
* Added a json_tokener_get_parse_end() function to replace direct access of tok->char_offset.
|
||||
* The char_offset field, and the rest of the json_tokener structure remain exposed for now, but expect a future release to hide it like is done with json_object_private.h
|
||||
* json_tokener_parse_ex() now accepts a new JSON_TOKENER_VALIDATE_UTF8 flag to validate that input is UTF8.
|
||||
* If validation fails, json_tokener_get_error(tok) will return json_tokener_error_parse_utf8_string (see enum json_tokener_error).
|
||||
|
||||
### Other changes and additions
|
||||
* Add support for unsigned 64-bit integers, uint64_t, to gain one extra bit of magnitude for positive ints.
|
||||
* json_tokener will now parse values up to UINT64_MAX (18446744073709551615)
|
||||
* Existing methods returning int32_t or int64_t will cap out-of-range values at INT32_MAX or INT64_MAX, preserving existing behavior.
|
||||
* The implementation includes the possibility of easily extending this to larger sizes in the future.
|
||||
* A total of 7 new functions were added:
|
||||
* json_object_get_uint64 ( struct json_object const* jso )
|
||||
* json_object_new_uint64 ( uint64_t i )
|
||||
* json_object_set_uint64 ( struct json_object* jso, uint64_t new_value )
|
||||
* json_parse_uint64 ( char const* buf, uint64_t* retval )
|
||||
* See description of uint64 support, above.
|
||||
* json_tokener_get_parse_end ( struct json_tokener* tok )
|
||||
* See details under "json_tokener changes", above.
|
||||
* json_object_from_fd_ex ( int fd, int in_depth )
|
||||
* Allows the max nesting depth to be specified.
|
||||
* json_object_new_null ( )
|
||||
* Simply returns NULL. Its use is not recommended.
|
||||
* The size of struct json_object has decreased from 96 bytes to 88 bytes.
|
||||
|
||||
### Testing
|
||||
* Many updates were made to test cases, increasing code coverage.
|
||||
* There is now a quick way (JSONC_TEST_TRACE=1) to turn on shell tracing in tests.
|
||||
* To run tests, use `make test`; the old "check" target no longer exists.
|
||||
|
||||
## Significant bug fixes
|
||||
For the full list of issues and pull requests since the previous release, please see issues_closed_for_0.14.md
|
||||
|
||||
* [Issue #389](https://github.com/json-c/json-c/issues/389): Add an assert to explicitly crash when _ref_count is corrupted, instead of a later "double free" error.
|
||||
* [Issue #407](https://github.com/json-c/json-c/issues/407): fix incorrect casts in calls to ctype functions (isdigit and isspace) so we don't crash when asserts are enabled on certain platforms and characters > 128 are parsed.
|
||||
* [Issue #418](https://github.com/json-c/json-c/issues/418): Fix docs for json_util_from_fd and json_util_from_file to say that they return NULL on failures.
|
||||
* [Issue #422](https://github.com/json-c/json-c/issues/422): json_object.c:set errno in json_object_get_double() when called on a json_type_string object with bad content.
|
||||
* [Issue #453](https://github.com/json-c/json-c/issues/453): Fixed misalignment in JSON serialization when JSON_C_TO_STRING_SPACED and JSON_C_TO_STRING_PRETTY are used together.
|
||||
* [Issue #463](https://github.com/json-c/json-c/issues/463): fix newlocale() call to use LC_NUMERIC_MASK instead of LC_NUMERIC, and remove incorrect comment.
|
||||
* [Issue #486](https://github.com/json-c/json-c/issues/486): append a missing ".0" to negative double values to ensure they are serialized as floating point numbers.
|
||||
* [Issue #488](https://github.com/json-c/json-c/issues/488): use JSON_EXPORT on functions so they are properly exported on Windows.
|
||||
* [Issue #539](https://github.com/json-c/json-c/issues/539): use an internal-only serializer function in json_object_new_double_s() to avoid potential conflicts with user code that uses the json_object_userdata_to_json_string serializer.
|
||||
|
||||
***
|
||||
|
||||
0.13.1 (up to commit 0f814e5, 2018/03/04)
|
||||
=========================================
|
||||
|
||||
@@ -12,6 +114,7 @@
|
||||
* Issue #396: fix build for certain uClibc based systems.
|
||||
* Add a top level fuzz directory for fuzzers run by OSS-Fuzz
|
||||
|
||||
|
||||
0.13 (up to commit 5dae561, 2017/11/29)
|
||||
=================================
|
||||
|
||||
@@ -322,7 +425,7 @@ List of new functions added:
|
||||
0.6
|
||||
===
|
||||
* Fix bug in escaping of control characters
|
||||
Johan Bj<EFBFBD>rklund, johbjo09 at kth dot se
|
||||
Johan Björklund, johbjo09 at kth dot se
|
||||
* Remove include "config.h" from headers (should only
|
||||
be included from .c files)
|
||||
Michael Clark <michael@metaparadigm.com>
|
||||
@@ -372,7 +475,7 @@ List of new functions added:
|
||||
Added cast and mask to suffice size_t v. unsigned int conversion
|
||||
correctness
|
||||
* json_tokener.c - sign reversal issue on error info for nested object parse
|
||||
spotted by Johan Bj<EFBFBD>rklund (johbjo09 at kth.se)
|
||||
spotted by Johan Björklund (johbjo09 at kth.se)
|
||||
* json_object.c - escape " in json_escape_str
|
||||
* Change to automake and libtool to build shared and static library
|
||||
Michael Clark <michael@metaparadigm.com>
|
||||
|
||||
120
Makefile.am
@@ -1,120 +0,0 @@
|
||||
#ACLOCAL_AMFLAGS = -I autoconf-archive/m4
|
||||
|
||||
EXTRA_DIST = README.md README.html
|
||||
EXTRA_DIST += config.h.win32
|
||||
EXTRA_DIST += Doxyfile
|
||||
EXTRA_DIST += issues_closed_for_0.13.md
|
||||
|
||||
dist-hook:
|
||||
test -d "$(distdir)/doc" || mkdir "$(distdir)/doc"
|
||||
chmod -R u+w "$(distdir)/doc"
|
||||
cd "$(distdir)" && doxygen
|
||||
|
||||
SUBDIRS = . tests
|
||||
|
||||
lib_LTLIBRARIES = libjson-c.la
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = json-c.pc
|
||||
|
||||
libjson_cincludedir = $(includedir)/json-c
|
||||
libjson_cinclude_HEADERS = \
|
||||
arraylist.h \
|
||||
bits.h \
|
||||
debug.h \
|
||||
json.h \
|
||||
json_c_version.h \
|
||||
json_config.h \
|
||||
json_inttypes.h \
|
||||
json_object.h \
|
||||
json_object_iterator.h \
|
||||
json_pointer.h \
|
||||
json_tokener.h \
|
||||
json_util.h \
|
||||
json_visit.h \
|
||||
linkhash.h \
|
||||
printbuf.h
|
||||
|
||||
noinst_HEADERS=\
|
||||
json_object_private.h \
|
||||
math_compat.h \
|
||||
strdup_compat.h \
|
||||
snprintf_compat.h \
|
||||
vasprintf_compat.h \
|
||||
random_seed.h \
|
||||
strerror_override.h
|
||||
|
||||
libjson_c_la_LDFLAGS = -version-info 4:0:0 -no-undefined @JSON_BSYMBOLIC_LDFLAGS@
|
||||
|
||||
libjson_c_la_SOURCES = \
|
||||
arraylist.c \
|
||||
debug.c \
|
||||
json_c_version.c \
|
||||
json_object.c \
|
||||
json_object_iterator.c \
|
||||
json_pointer.c \
|
||||
json_tokener.c \
|
||||
json_util.c \
|
||||
json_visit.c \
|
||||
linkhash.c \
|
||||
printbuf.c \
|
||||
random_seed.c \
|
||||
strerror_override.c \
|
||||
strerror_override_private.h
|
||||
|
||||
|
||||
DISTCLEANFILES=
|
||||
DISTCLEANFILES+= \
|
||||
config.h \
|
||||
json-c-uninstalled.pc \
|
||||
json-c.pc \
|
||||
json_config.h
|
||||
|
||||
distclean-local:
|
||||
-rm -rf $(testsubdir)
|
||||
|
||||
JSON_CLEANFILES=
|
||||
JSON_CLEANFILES+= \
|
||||
Makefile.in \
|
||||
aclocal.m4 \
|
||||
autom4te.cache/ \
|
||||
compile \
|
||||
config.guess \
|
||||
config.h.in \
|
||||
config.sub \
|
||||
configure \
|
||||
depcomp \
|
||||
install-sh \
|
||||
ltmain.sh \
|
||||
missing \
|
||||
test-driver \
|
||||
tests/Makefile.in
|
||||
JSON_CLEANFILES+= \
|
||||
libtool \
|
||||
stamp-h1 \
|
||||
stamp-h2
|
||||
|
||||
# There's no built-in way to remove these after all the other
|
||||
# maintainer-clean steps happen, so do it explicitly here.
|
||||
really-clean:
|
||||
$(MAKE) maintainer-clean
|
||||
rm -rf ${JSON_CLEANFILES}
|
||||
|
||||
uninstall-local:
|
||||
rm -rf "$(DESTDIR)@includedir@/json-c"
|
||||
rm -f "$(DESTDIR)@includedir@/json"
|
||||
|
||||
ANDROID_CFLAGS = -I$(top_srcdir) -DHAVE_CONFIG_H
|
||||
|
||||
Android.mk: Makefile.am
|
||||
androgenizer -:PROJECT json-c \
|
||||
-:SHARED libjson-c \
|
||||
-:TAGS eng debug \
|
||||
-:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \
|
||||
-:SOURCES $(libjson_c_la_SOURCES) $(nodist_libjson_c_la_SOURCES) \
|
||||
-:CFLAGS $(DEFS) $(ANDROID_CFLAGS) $(libjson_c_la_CFLAGS) \
|
||||
-:LDFLAGS $(libjson_c_la_LDFLAGS) $(libjson_c_la_LIBADD) \
|
||||
-:HEADER_TARGET json-c \
|
||||
-:HEADERS $(libjson_cinclude_HEADERS) \
|
||||
-:PASSTHROUGH LOCAL_ARM_MODE:=arm \
|
||||
> $@
|
||||
1115
Makefile.in
@@ -26,8 +26,7 @@
|
||||
</ul>
|
||||
|
||||
<h3>Documentation</h3>
|
||||
<P>Doxygen generated documentation exists <a href="doc/html/json__object_8h.html">here</a>
|
||||
and Win32 specific notes can be found <a href="README-WIN32.html">here</a>.</P>
|
||||
<P>Doxygen generated documentation exists <a href="http://json-c.github.io/json-c/">here</a>.</P>
|
||||
|
||||
<h3><a href="https://github.com/json-c/json-c">GIT Reposository</a></h3>
|
||||
<p><strong><code>git clone https://github.com/json-c/json-c.git</code></strong></p>
|
||||
|
||||
15
README.json_object-split.md
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
This branch implements the changes briefly described at:
|
||||
|
||||
https://github.com/json-c/json-c/wiki/Proposal:-struct-json_object-split
|
||||
|
||||
These were originally mentioned in:
|
||||
Issue #535 - short string optimization: excessive array length
|
||||
|
||||
The changes are expected to impact and possibly invalidate:
|
||||
Issue #552 - Some anlysis about memory allocator in json-c
|
||||
|
||||
and will likely cause notable conflicts in any other significant un-merged
|
||||
changes, such as PR#620 - Introduce json_object_new_string_{ext,noalloc}()
|
||||
|
||||
|
||||
231
README.md
@@ -1,12 +1,15 @@
|
||||
`json-c` {#mainpage}
|
||||
`json-c`
|
||||
========
|
||||
|
||||
1. [Overview and Build Status](#overview)
|
||||
2. [Building on Unix](#buildunix)
|
||||
3. [Install Prerequisites](#installprereq)
|
||||
4. [Building with partial threading support](#buildthreaded)
|
||||
5. [Linking to libjson-c](#linking)
|
||||
6. [Using json-c](#using)
|
||||
* [Prerequisites](#installprereq)
|
||||
* [Build commands](#buildcmds)
|
||||
3. [CMake options](#CMake)
|
||||
4. [Testing](#testing)
|
||||
5. [Building with `vcpkg`](#buildvcpkg)
|
||||
6. [Linking to libjson-c](#linking)
|
||||
7. [Using json-c](#using)
|
||||
|
||||
JSON-C - A JSON implementation in C <a name="overview"></a>
|
||||
-----------------------------------
|
||||
@@ -15,126 +18,193 @@ Build Status
|
||||
* [AppVeyor Build](https://ci.appveyor.com/project/hawicz/json-c) 
|
||||
* [Travis Build](https://travis-ci.org/json-c/json-c) 
|
||||
|
||||
Test Status
|
||||
* [Coveralls](https://coveralls.io/github/json-c/json-c?branch=master) [](https://coveralls.io/github/json-c/json-c?branch=master)
|
||||
|
||||
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](https://tools.ietf.org/html/rfc7159).
|
||||
|
||||
|
||||
Building on Unix with `git`, `gcc` and `autotools` <a name="buildunix"></a>
|
||||
Building on Unix with `git`, `gcc` and `cmake` <a name="buildunix"></a>
|
||||
--------------------------------------------------
|
||||
|
||||
Home page for json-c: https://github.com/json-c/json-c/wiki
|
||||
|
||||
### Prerequisites:
|
||||
|
||||
See also the "Installing prerequisites" section below.
|
||||
### Prerequisites: <a name="installprereq"></a>
|
||||
|
||||
- `gcc`, `clang`, or another C compiler
|
||||
- `libtool>=2.2.6b`
|
||||
|
||||
If you're not using a release tarball, you'll also need:
|
||||
- cmake>=2.8, >=3.16 recommended
|
||||
|
||||
- `autoconf>=2.64` (`autoreconf`)
|
||||
- `automake>=1.13`
|
||||
|
||||
Make sure you have a complete `libtool` install, including `libtoolize`.
|
||||
|
||||
To generate docs (e.g. as part of make distcheck) you'll also need:
|
||||
To generate docs you'll also need:
|
||||
- `doxygen>=1.8.13`
|
||||
|
||||
### Build instructions:
|
||||
|
||||
`json-c` GitHub repo: https://github.com/json-c/json-c
|
||||
|
||||
```sh
|
||||
$ git clone https://github.com/json-c/json-c.git
|
||||
$ cd json-c
|
||||
$ sh autogen.sh
|
||||
```
|
||||
|
||||
followed by
|
||||
|
||||
```sh
|
||||
$ ./configure # --enable-threading
|
||||
$ make
|
||||
$ make install
|
||||
```
|
||||
|
||||
To build and run the test programs:
|
||||
|
||||
```sh
|
||||
$ make check
|
||||
$ make USE_VALGRIND=0 check # optionally skip using valgrind
|
||||
```
|
||||
|
||||
Install prerequisites <a name="installprereq"></a>
|
||||
-----------------------
|
||||
|
||||
If you are on a relatively modern system, you'll likely be able to install
|
||||
the prerequisites using your OS's packaging system.
|
||||
|
||||
### Install using apt (e.g. Ubuntu 16.04.2 LTS)
|
||||
```sh
|
||||
sudo apt install git
|
||||
sudo apt install autoconf automake libtool
|
||||
sudo apt install cmake
|
||||
sudo apt install doxygen # optional
|
||||
sudo apt install valgrind # optional
|
||||
```
|
||||
|
||||
Then start from the "git clone" command, above.
|
||||
### Build instructions: <a name="buildcmds"></a>
|
||||
|
||||
### Manually install and build autoconf, automake and libtool
|
||||
|
||||
For older OS's that don't have up-to-date version of the packages will
|
||||
require a bit more work. For example, CentOS release 5.11, etc...
|
||||
`json-c` GitHub repo: https://github.com/json-c/json-c
|
||||
|
||||
```sh
|
||||
curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
|
||||
curl -O http://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz
|
||||
curl -O http://ftp.gnu.org/gnu/libtool/libtool-2.2.6b.tar.gz
|
||||
$ git clone https://github.com/json-c/json-c.git
|
||||
$ mkdir json-c-build
|
||||
$ cd json-c-build
|
||||
$ cmake ../json-c # See CMake section below for custom arguments
|
||||
```
|
||||
|
||||
tar xzf autoconf-2.69.tar.gz
|
||||
tar xzf automake-1.15.tar.gz
|
||||
tar xzf libtool-2.2.6b.tar.gz
|
||||
Note: it's also possible to put your build directory inside the json-c
|
||||
source directory, or even not use a separate build directory at all, but
|
||||
certain things might not work quite right (notably, `make distcheck`)
|
||||
|
||||
export PATH=${HOME}/ac_install/bin:$PATH
|
||||
Then:
|
||||
|
||||
(cd autoconf-2.69 && \
|
||||
./configure --prefix ${HOME}/ac_install && \
|
||||
make && \
|
||||
make install)
|
||||
|
||||
(cd automake-1.15 && \
|
||||
./configure --prefix ${HOME}/ac_install && \
|
||||
make && \
|
||||
make install)
|
||||
|
||||
(cd libtool-2.2.6b && \
|
||||
./configure --prefix ${HOME}/ac_install && \
|
||||
make && \
|
||||
make install)
|
||||
```sh
|
||||
$ make
|
||||
$ make test
|
||||
$ make USE_VALGRIND=0 test # optionally skip using valgrind
|
||||
$ make install
|
||||
```
|
||||
|
||||
|
||||
Building with partial threading support <a name="buildthreaded"></a>
|
||||
----------------------------------------
|
||||
### Generating documentation with Doxygen:
|
||||
|
||||
The libray documentation can be generated directly from the source codes using Doxygen tool:
|
||||
|
||||
```sh
|
||||
# in build directory
|
||||
make doc
|
||||
google-chrome doc/html/index.html
|
||||
```
|
||||
|
||||
|
||||
CMake Options <a name="CMake"></a>
|
||||
--------------------
|
||||
|
||||
The json-c library is built with [CMake](https://cmake.org/cmake-tutorial/),
|
||||
which can take a few options.
|
||||
|
||||
Variable | Type | Description
|
||||
-----------------------------|--------|--------------
|
||||
CMAKE_INSTALL_PREFIX | String | The install location.
|
||||
CMAKE_BUILD_TYPE | String | Defaults to "debug".
|
||||
BUILD_SHARED_LIBS | Bool | The default build generates a dynamic (dll/so) library. Set this to OFF to create a static library only.
|
||||
BUILD_STATIC_LIBS | Bool | The default build generates a static (lib/a) library. Set this to OFF to create a shared library only.
|
||||
DISABLE_BSYMBOLIC | Bool | Disable use of -Bsymbolic-functions.
|
||||
DISABLE_THREAD_LOCAL_STORAGE | Bool | Disable use of Thread-Local Storage (HAVE___THREAD).
|
||||
DISABLE_WERROR | Bool | Disable use of -Werror.
|
||||
ENABLE_RDRAND | Bool | Enable RDRAND Hardware RNG Hash Seed.
|
||||
ENABLE_THREADING | Bool | Enable partial threading support.
|
||||
|
||||
Pass these options as `-D` on CMake's command-line.
|
||||
|
||||
```sh
|
||||
# build a static library only
|
||||
cmake -DBUILD_SHARED_LIBS=OFF ..
|
||||
```
|
||||
|
||||
### Building with partial threading support
|
||||
|
||||
Although json-c does not support fully multi-threaded access to
|
||||
object trees, it has some code to help make use in threaded programs
|
||||
object trees, it has some code to help make its use in threaded programs
|
||||
a bit safer. Currently, this is limited to using atomic operations for
|
||||
json_object_get() and json_object_put().
|
||||
|
||||
Since this may have a performance impact, of at least 3x slower
|
||||
according to https://stackoverflow.com/a/11609063, it is disabled by
|
||||
default. You may turn it on by adjusting your configure command with:
|
||||
--enable-threading
|
||||
default. You may turn it on by adjusting your cmake command with:
|
||||
-DENABLE_THREADING=ON
|
||||
|
||||
Separately, the default hash function used for object field keys,
|
||||
lh_char_hash, uses a compare-and-swap operation to ensure the randomly
|
||||
lh_char_hash, uses a compare-and-swap operation to ensure the random
|
||||
seed is only generated once. Because this is a one-time operation, it
|
||||
is always compiled in when the compare-and-swap operation is available.
|
||||
|
||||
|
||||
### cmake-configure wrapper script
|
||||
|
||||
For those familiar with the old autoconf/autogen.sh/configure method,
|
||||
there is a `cmake-configure` wrapper script to ease the transition to cmake.
|
||||
|
||||
```sh
|
||||
mkdir build
|
||||
cd build
|
||||
../cmake-configure --prefix=/some/install/path
|
||||
make
|
||||
```
|
||||
|
||||
cmake-configure can take a few options.
|
||||
|
||||
| options | Description|
|
||||
| ---- | ---- |
|
||||
| prefix=PREFIX | install architecture-independent files in PREFIX |
|
||||
| enable-threading | Enable code to support partly multi-threaded use |
|
||||
| enable-rdrand | Enable RDRAND Hardware RNG Hash Seed generation on supported x86/x64 platforms. |
|
||||
| enable-shared | build shared libraries [default=yes] |
|
||||
| enable-static | build static libraries [default=yes] |
|
||||
| disable-Bsymbolic | Avoid linking with -Bsymbolic-function |
|
||||
| disable-werror | Avoid treating compiler warnings as fatal errors |
|
||||
|
||||
|
||||
Testing: <a name="testing"></a>
|
||||
----------
|
||||
|
||||
By default, if valgrind is available running tests uses it.
|
||||
That can slow the tests down considerably, so to disable it use:
|
||||
```sh
|
||||
export USE_VALGRIND=0
|
||||
```
|
||||
|
||||
To run tests a separate build directory is recommended:
|
||||
```sh
|
||||
mkdir build-test
|
||||
cd build-test
|
||||
# VALGRIND=1 causes -DVALGRIND=1 to be passed when compiling code
|
||||
# which uses slightly slower, but valgrind-safe code.
|
||||
VALGRIND=1 cmake ..
|
||||
make
|
||||
|
||||
make test
|
||||
# By default, if valgrind is available running tests uses it.
|
||||
make USE_VALGRIND=0 test # optionally skip using valgrind
|
||||
```
|
||||
|
||||
If a test fails, check `Testing/Temporary/LastTest.log`,
|
||||
`tests/testSubDir/${testname}/${testname}.vg.out`, and other similar files.
|
||||
If there is insufficient output try:
|
||||
```sh
|
||||
VERBOSE=1 make test
|
||||
```
|
||||
or
|
||||
```sh
|
||||
JSONC_TEST_TRACE=1 make test
|
||||
```
|
||||
and check the log files again.
|
||||
|
||||
|
||||
Building on Unix and Windows with `vcpkg` <a name="buildvcpkg"></a>
|
||||
--------------------------------------------------
|
||||
|
||||
You can download and install JSON-C using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager:
|
||||
|
||||
git clone https://github.com/Microsoft/vcpkg.git
|
||||
cd vcpkg
|
||||
./bootstrap-vcpkg.sh
|
||||
./vcpkg integrate install
|
||||
vcpkg install json-c
|
||||
|
||||
The JSON-C port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository.
|
||||
|
||||
|
||||
Linking to `libjson-c` <a name="linking">
|
||||
----------------------
|
||||
|
||||
@@ -169,5 +239,4 @@ following more specific header files:
|
||||
* json_visit.h - Methods for walking a tree of json-c objects.
|
||||
* json_util.h - Miscelleanous utility functions.
|
||||
|
||||
For a full list of headers see [files.html](files.html)
|
||||
|
||||
For a full list of headers see [files.html](http://json-c.github.io/json-c/json-c-0.13.1/doc/html/files.html)
|
||||
|
||||
@@ -1,73 +1,96 @@
|
||||
|
||||
Release checklist:
|
||||
# Release checklist:
|
||||
|
||||
release=0.13
|
||||
git clone https://github.com/json-c/json-c json-c-${release}
|
||||
cd json-c-${release}
|
||||
## Pre-release tasks
|
||||
|
||||
* Figure out whether a release is worthwhile to do.
|
||||
* Analyze the previous release branch to see if anything should have been
|
||||
applied to master.
|
||||
* Collect changes and assemble tentative release notes.
|
||||
* Identify previous release branch point
|
||||
* Check commit logs between previous branch point and now for
|
||||
notable changes worth mentioning
|
||||
* Create a new issues_closed_for_X.Y.md file
|
||||
* Include notable entries from here in the release notes.
|
||||
* Analyze APIs between previous release branch and master to produce list of
|
||||
changes (added/removed/updated funcs, etc...), and detect backwards compat
|
||||
issues.
|
||||
* https://github.com/lvc/abi-compliance-checker
|
||||
* If the new release is not backwards compatible, then this is a MAJOR release.
|
||||
* Mention removed features in ChangeLog
|
||||
* Update the AUTHORS file
|
||||
* Exclude mentioning changes that have already been included in a point
|
||||
release of the previous release branch.
|
||||
|
||||
* Update ChangeLog with relevant notes before branching.
|
||||
|
||||
* Check that the compile works on Linux - automatic through Travis
|
||||
* Check that the compile works on NetBSD
|
||||
* Check that the compile works on Windows - automatic through AppVeyor
|
||||
|
||||
## Release creation
|
||||
|
||||
Start creating the new release:
|
||||
release=0.15
|
||||
git clone https://github.com/json-c/json-c json-c-${release}
|
||||
|
||||
mkdir distcheck
|
||||
cd distcheck
|
||||
# Note, the build directory *must* be entirely separate from
|
||||
# the source tree for distcheck to work properly.
|
||||
cmake ../json-c-${release}
|
||||
make distcheck
|
||||
cd ..
|
||||
|
||||
Check that the compile works on Linux
|
||||
Check that the compile works on NetBSD
|
||||
Check that the compile works on Windows
|
||||
Run "make distcheck" and fix any problems
|
||||
(e.g. adding new files to SOURCES variables in Makefile.am)
|
||||
Check ChangeLog to see if anything should be added.
|
||||
Make any fixes/changes *before* branching.
|
||||
|
||||
git branch json-c-${release}
|
||||
git checkout json-c-${release}
|
||||
cd json-c-${release}
|
||||
git branch json-c-${release}
|
||||
git checkout json-c-${release}
|
||||
|
||||
------------
|
||||
|
||||
Update the version in json_c_version.h
|
||||
Update the version in Doxyfile
|
||||
Update the version in configure.ac
|
||||
Update the version in CMakeLists.txt
|
||||
Use ${release}.
|
||||
Using ${release}:
|
||||
Update the version in json_c_version.h
|
||||
Update the version in CMakeLists.txt (VERSION in the project(...) line)
|
||||
Update the version in config.h.win32 (several places)
|
||||
|
||||
Update the libjson_la_LDFLAGS line in Makefile.am to the new version.
|
||||
Generally, unless we're doing a major release, change:
|
||||
-version-info x:y:z
|
||||
to
|
||||
-version-info x:y+1:z
|
||||
Update the set_target_properties() line in CmakeLists.txt to set the shared
|
||||
library version. Generally, unless we're doing a major release, change:
|
||||
VERSION x.y.z
|
||||
to
|
||||
VERSION x.y+1.z
|
||||
|
||||
------------
|
||||
|
||||
Generate the configure script and other files:
|
||||
sh autogen.sh
|
||||
git add -f Makefile.in aclocal.m4 config.guess config.h.in \
|
||||
config.sub configure depcomp install-sh \
|
||||
ltmain.sh missing tests/Makefile.in \
|
||||
INSTALL
|
||||
|
||||
# check for anything else to be added:
|
||||
git status --ignored
|
||||
git commit
|
||||
git commit -a -m "Bump version to ${release}"
|
||||
|
||||
------------
|
||||
|
||||
Generate the doxygen documentation:
|
||||
doxygen
|
||||
git add -f doc
|
||||
git commit doc
|
||||
|
||||
doxygen
|
||||
git add -f doc
|
||||
git commit doc
|
||||
|
||||
------------
|
||||
|
||||
cd ..
|
||||
echo .git > excludes
|
||||
echo autom4te.cache >> excludes
|
||||
tar -czf json-c-${release}.tar.gz -X excludes json-c-${release}
|
||||
Create the release tarballs:
|
||||
|
||||
echo doc >> excludes
|
||||
tar -czf json-c-${release}-nodoc.tar.gz -X excludes json-c-${release}
|
||||
cd ..
|
||||
echo .git > excludes
|
||||
tar -czf json-c-${release}.tar.gz -X excludes json-c-${release}
|
||||
|
||||
echo doc >> excludes
|
||||
tar -czf json-c-${release}-nodoc.tar.gz -X excludes json-c-${release}
|
||||
|
||||
------------
|
||||
|
||||
Tag the branch:
|
||||
cd json-c-${release}
|
||||
git tag -a json-c-${release}-$(date +%Y%m%d) -m "Release json-c-${release}"
|
||||
|
||||
git push origin json-c-${release}
|
||||
git push --tags
|
||||
cd json-c-${release}
|
||||
git tag -a json-c-${release}-$(date +%Y%m%d) -m "Release json-c-${release}"
|
||||
|
||||
git push origin json-c-${release}
|
||||
git push --tags
|
||||
|
||||
------------
|
||||
|
||||
@@ -75,7 +98,7 @@ Go to Amazon S3 service at:
|
||||
https://console.aws.amazon.com/s3/
|
||||
|
||||
Upload the two tarballs in the json-c_releases folder.
|
||||
When uploading, use "Reduced Redundancy", and make the uploaded files publicly accessible.
|
||||
When uploading, use "Standard" storage class, and make the uploaded files publicly accessible.
|
||||
|
||||
Logout of Amazon S3, and verify that the files are visible.
|
||||
https://s3.amazonaws.com/json-c_releases/releases/index.html
|
||||
@@ -84,48 +107,51 @@ Logout of Amazon S3, and verify that the files are visible.
|
||||
|
||||
Post-release checklist:
|
||||
|
||||
git checkout master
|
||||
Add new section to ChangeLog
|
||||
Update the version in json_c_version.h
|
||||
Update the version in Doxyfile
|
||||
Update the version in configure.ac
|
||||
Update the version in CMakeLists.txt
|
||||
Use ${release}.99 to indicate a version "newer" than anything on the branch.
|
||||
git checkout master
|
||||
|
||||
Leave the libjson_la_LDFLAGS line in Makefile.am alone.
|
||||
For more details see:
|
||||
http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
|
||||
Add new section to ChangeLog for ${release}+1
|
||||
|
||||
Use ${release}.99 to indicate a version "newer" than anything on the branch:
|
||||
Update the version in json_c_version.h
|
||||
Update the version in CMakeLists.txt
|
||||
Update the version in config.h.win32
|
||||
|
||||
Update RELEASE_CHECKLIST.txt, set release=${release}+1
|
||||
|
||||
Update the set_target_properties() line in CmakeLists.txt to match the release branch.
|
||||
|
||||
git commit -a -m "Update the master branch to version 0.${release}.99"
|
||||
git push
|
||||
|
||||
------------
|
||||
|
||||
Update the gh-pages branch with new docs:
|
||||
|
||||
cd json-c-${release}
|
||||
git checkout json-c-${release}
|
||||
cd ..
|
||||
cd json-c-${release}
|
||||
git checkout json-c-${release}
|
||||
cd ..
|
||||
|
||||
git clone -b gh-pages https://github.com/json-c/json-c json-c-pages
|
||||
cd json-c-pages
|
||||
mkdir json-c-${release}
|
||||
cp -R ../json-c-${release}/doc json-c-${release}/.
|
||||
cp ../json-c-${release}/README-WIN32.html json-c-${release}/.
|
||||
git add json-c-${release}
|
||||
git commit
|
||||
git clone -b gh-pages https://github.com/json-c/json-c json-c-pages
|
||||
cd json-c-pages
|
||||
mkdir json-c-${release}
|
||||
cp -R ../json-c-${release}/doc json-c-${release}/.
|
||||
git add json-c-${release}
|
||||
git commit -a -m "Add the ${release} docs."
|
||||
|
||||
vi index.html
|
||||
Add/change links to current release.
|
||||
vi index.html
|
||||
# Add/change links to current release.
|
||||
|
||||
git commit index.html
|
||||
git commit -a -m "Update the doc links to point at ${release}"
|
||||
|
||||
git push
|
||||
git push
|
||||
|
||||
------------
|
||||
|
||||
Update checksums on wiki page.
|
||||
|
||||
cd ..
|
||||
openssl sha -sha256 json-c*gz
|
||||
openssl md5 json-c*gz
|
||||
cd ..
|
||||
openssl sha -sha256 json-c*gz
|
||||
openssl md5 json-c*gz
|
||||
|
||||
Copy and paste this output into the wiki page at:
|
||||
https://github.com/json-c/json-c/wiki
|
||||
@@ -133,4 +159,3 @@ Copy and paste this output into the wiki page at:
|
||||
------------
|
||||
|
||||
Send an email to the mailing list.
|
||||
|
||||
|
||||
30
STYLE.txt
Executable file → Normal file
@@ -4,22 +4,22 @@ When changing the style, commit that separately from other changes.
|
||||
For new code and major changes to a function, switch to the official json-c style.
|
||||
|
||||
Official json-c style:
|
||||
|
||||
Aim for readability, not strict conformance to fixed style rules.
|
||||
These rules are not comprehensive. Look to existing code for guidelines.
|
||||
Indentation is tab based, with continuations of long lines starting with tabs then spaces for alignment.
|
||||
Try to line up components of continuation lines with corresponding part of the line above (i.e. "indent -lp" effect), but avoid excessive identation tha causes extra line wraps.
|
||||
e.g. (T=tab, S=space):
|
||||
TTTTsome_long_func_call(arg1, arg2,
|
||||
TTTTSSSSSSSSSSSSSSSSSSSarg3, arg4);
|
||||
TTTTsome_reallly_really_long_func_name(arg1,
|
||||
TTTTTarg2, arg3, arg4);
|
||||
There should be a space between "if"/"while" and the following parenthesis.
|
||||
"case" lines are indented at the same level as the "switch" statement.
|
||||
Commas are followed by a single space.
|
||||
Include spaces around most non-unary, non-postfix operators, "=", "==', "&", "||", etc...
|
||||
Function calls have no space between the name and the parenthesis.
|
||||
Curly braces go on their own line.
|
||||
Curly braces may be omitted.
|
||||
Formatting is tab based; previous attempts at proper alignment with
|
||||
spaces for continuation lines have been abandoned in favor of the
|
||||
convenience of using clang-format.
|
||||
Refer to the .clang-format file for details, and run the tool before commit:
|
||||
|
||||
clang-format -i somefile.c foo.h
|
||||
|
||||
For sections of code that would be significantly negatively impacted, surround
|
||||
them with magic comments to disable formatting:
|
||||
|
||||
/* clang-format off */
|
||||
...code...
|
||||
/* clang-format on */
|
||||
|
||||
|
||||
Naming:
|
||||
Words within function and variable names are separated with underscores. Avoid camel case.
|
||||
|
||||
9756
aclocal.m4
vendored
122
apps/CMakeLists.txt
Normal file
@@ -0,0 +1,122 @@
|
||||
|
||||
cmake_minimum_required(VERSION 2.8) # see ../CMakeLists.txt for why 2.8
|
||||
|
||||
if(POLICY CMP0075)
|
||||
cmake_policy(SET CMP0075 NEW)
|
||||
endif()
|
||||
|
||||
include(CheckSymbolExists)
|
||||
include(CheckIncludeFile)
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
# First, sort out whether we're running inside a json-c build,
|
||||
# or standalone, such as part of a benchmark build.
|
||||
|
||||
if ("${PROJECT_NAME}" STREQUAL "json-c")
|
||||
# Part of an overall json-c build
|
||||
set(APPS_LINK_LIBS "${PROJECT_NAME}")
|
||||
|
||||
# We know we have this in our current sources:
|
||||
set(HAVE_JSON_TOKENER_GET_PARSE_END)
|
||||
|
||||
else()
|
||||
|
||||
# Standalone mode, using an already installed json-c library, somewhere.
|
||||
# The path to the json-c install must be specified with -DCMAKE_PREFIX_PATH=...
|
||||
|
||||
project(apps)
|
||||
find_package(PkgConfig)
|
||||
|
||||
# PkgConfig is supposed to include CMAKE_PREFIX_PATH in the PKG_CONFIG_PATH
|
||||
# that's used when running pkg-config, but it just doesn't work :(
|
||||
# https://gitlab.kitware.com/cmake/cmake/issues/18150
|
||||
#set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH True)
|
||||
|
||||
# Instead, we handle it explicitly here and update PKG_CONFIG_PATH ourselves.
|
||||
if (NOT CMAKE_PREFIX_PATH)
|
||||
message(FATAL_ERROR "Please specify -DCMAKE_PREFIX_PATH=... when running cmake.")
|
||||
endif()
|
||||
|
||||
# Note: find_file isn't recursive :(
|
||||
find_file(PC_FILE_PATH "json-c.pc"
|
||||
PATHS "${CMAKE_PREFIX_PATH}/lib64" "${CMAKE_PREFIX_PATH}/lib"
|
||||
PATH_SUFFIXES "pkgconfig"
|
||||
NO_DEFAULT_PATH)
|
||||
get_filename_component(PC_DIR_PATH "${PC_FILE_PATH}" DIRECTORY)
|
||||
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:${PC_DIR_PATH}")
|
||||
message(STATUS "PC_FILE_PATH=${PC_FILE_PATH}")
|
||||
message(STATUS "PC_DIR_PATH=${PC_DIR_PATH}")
|
||||
|
||||
pkg_check_modules(PC_JSONC json-c)
|
||||
if (PC_JSONC_FOUND)
|
||||
message(STATUS "Found json-c using pkg-config: ${PC_JSONC_PREFIX}")
|
||||
message(STATUS " PC_JSONC_INCLUDE_DIRS=${PC_JSONC_INCLUDE_DIRS}")
|
||||
message(STATUS " PC_JSONC_LIBRARIES=${PC_JSONC_LIBRARIES}")
|
||||
message(STATUS " PC_JSONC_LIBRARY_DIRS=${PC_JSONC_LIBRARY_DIRS}")
|
||||
link_directories(${PC_JSONC_LIBRARY_DIRS})
|
||||
include_directories(${PC_JSONC_INCLUDE_DIRS})
|
||||
# for target_link_libraries(...)
|
||||
set(APPS_INCLUDE_DIRS ${PC_JSONC_INCLUDE_DIRS})
|
||||
set(APPS_LINK_DIRS ${PC_JSONC_LIBRARY_DIRS})
|
||||
set(APPS_LINK_LIBS ${PC_JSONC_LIBRARIES})
|
||||
else()
|
||||
message(STATUS "Using find_package to locate json-c")
|
||||
|
||||
# Note: find_package needs CMAKE_PREFIX_PATH set appropriately.
|
||||
# XXX json-c's installed cmake files don't actually set up what's
|
||||
# needed to use find_package() by itself, so we're just using it
|
||||
# to confirm the top of the install location.
|
||||
find_package(json-c CONFIG) # sets json-c_DIR
|
||||
|
||||
# Assume json-c-config.cmake is in lib64/cmake/json-c/
|
||||
get_filename_component(json-c_TOP "${json-c_DIR}/../../.." ABSOLUTE)
|
||||
get_filename_component(json-c_LIBDIR "${json-c_DIR}/../.." ABSOLUTE)
|
||||
|
||||
message(STATUS " json-c_TOP=${json-c_TOP}")
|
||||
message(STATUS " json-c_DIR=${json-c_DIR}")
|
||||
message(STATUS " json-c_LIBDIR=${json-c_LIBDIR}")
|
||||
|
||||
link_directories(${json-c_LIBDIR})
|
||||
include_directories(${json-c_TOP}/include)
|
||||
include_directories(${json-c_TOP}/include/json-c)
|
||||
set(APPS_LINK_DIRS "${json-c_LIBDIR}")
|
||||
set(APPS_INCLUDE_DIRS "${json-c_TOP}/include;${json-c_TOP}/include/json-c")
|
||||
|
||||
set(APPS_LINK_LIBS json-c)
|
||||
endif()
|
||||
|
||||
set(CMAKE_REQUIRED_LINK_OPTIONS "-L${APPS_LINK_DIRS}")
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${APPS_LINK_LIBS})
|
||||
set(CMAKE_REQUIRED_INCLUDES ${APPS_INCLUDE_DIRS})
|
||||
check_symbol_exists(json_tokener_get_parse_end "json_tokener.h" HAVE_JSON_TOKENER_GET_PARSE_END)
|
||||
|
||||
endif() # end "standalone mode" block
|
||||
|
||||
# ---------------------------------
|
||||
|
||||
check_include_file(sys/resource.h HAVE_SYS_RESOURCE_H) # for getrusage
|
||||
if (HAVE_SYS_RESOURCE_H)
|
||||
check_symbol_exists(getrusage "sys/resource.h" HAVE_GETRUSAGE)
|
||||
endif()
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/apps_config.h.in
|
||||
${PROJECT_BINARY_DIR}/apps_config.h)
|
||||
message(STATUS "Wrote ${PROJECT_BINARY_DIR}/apps_config.h")
|
||||
|
||||
# ---------------------------------
|
||||
|
||||
include_directories(PUBLIC ${CMAKE_SOURCE_DIR})
|
||||
include_directories(${PROJECT_SOURCE_DIR})
|
||||
include_directories(${PROJECT_BINARY_DIR})
|
||||
|
||||
# ---------------------------------
|
||||
|
||||
# Now, finally, the actual executables we're building:
|
||||
|
||||
add_executable(json_parse json_parse.c)
|
||||
target_link_libraries(json_parse PRIVATE ${APPS_LINK_LIBS})
|
||||
|
||||
# Note: it is intentional that there are no install instructions here yet.
|
||||
# When/if the interface of the app(s) listed here settles down enough to
|
||||
# publish as part of a regular build that will be added.
|
||||
|
||||
8
apps/cmake/apps_config.h.in
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
/* Define to 1 if you have the <sys/resource.h> header file. */
|
||||
#cmakedefine HAVE_SYS_RESOURCE_H
|
||||
|
||||
/* Define if you have the `getrusage' function. */
|
||||
#cmakedefine HAVE_GETRUSAGE
|
||||
|
||||
#cmakedefine HAVE_JSON_TOKENER_GET_PARSE_END
|
||||
187
apps/json_parse.c
Normal file
@@ -0,0 +1,187 @@
|
||||
#include <assert.h>
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <getopt.h>
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "apps_config.h"
|
||||
|
||||
/* XXX for a regular program, these should be <json-c/foo.h>
|
||||
* but that's inconvenient when building in the json-c source tree.
|
||||
*/
|
||||
#include "json_object.h"
|
||||
#include "json_tokener.h"
|
||||
#include "json_util.h"
|
||||
|
||||
#ifdef HAVE_SYS_RESOURCE_H
|
||||
#include <sys/resource.h>
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
|
||||
static int formatted_output = 0;
|
||||
static int show_output = 1;
|
||||
static int strict_mode = 0;
|
||||
static const char *fname = NULL;
|
||||
|
||||
#ifndef HAVE_JSON_TOKENER_GET_PARSE_END
|
||||
#define json_tokener_get_parse_end(tok) ((tok)->char_offset)
|
||||
#endif
|
||||
|
||||
static void usage(const char *argv0, int exitval, const char *errmsg);
|
||||
static void showmem(void);
|
||||
static int parseit(int fd, int (*callback)(struct json_object *));
|
||||
static int showobj(struct json_object *new_obj);
|
||||
|
||||
static void showmem(void)
|
||||
{
|
||||
#ifdef HAVE_GETRUSAGE
|
||||
struct rusage rusage;
|
||||
memset(&rusage, 0, sizeof(rusage));
|
||||
getrusage(RUSAGE_SELF, &rusage);
|
||||
printf("maxrss: %ld KB\n", rusage.ru_maxrss);
|
||||
#endif
|
||||
}
|
||||
|
||||
static int parseit(int fd, int (*callback)(struct json_object *))
|
||||
{
|
||||
struct json_object *obj;
|
||||
char buf[32768];
|
||||
int ret;
|
||||
int depth = JSON_TOKENER_DEFAULT_DEPTH;
|
||||
json_tokener *tok;
|
||||
|
||||
tok = json_tokener_new_ex(depth);
|
||||
if (!tok)
|
||||
{
|
||||
fprintf(stderr, "unable to allocate json_tokener: %s\n", strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
json_tokener_set_flags(tok, JSON_TOKENER_STRICT
|
||||
#ifdef JSON_TOKENER_ALLOW_TRAILING_CHARS
|
||||
| JSON_TOKENER_ALLOW_TRAILING_CHARS
|
||||
#endif
|
||||
);
|
||||
|
||||
// XXX push this into some kind of json_tokener_parse_fd API?
|
||||
// json_object_from_fd isn't flexible enough, and mirroring
|
||||
// everything you can do with a tokener into json_util.c seems
|
||||
// like the wrong approach.
|
||||
size_t total_read = 0;
|
||||
while ((ret = read(fd, buf, sizeof(buf))) > 0)
|
||||
{
|
||||
total_read += ret;
|
||||
int start_pos = 0;
|
||||
while (start_pos != ret)
|
||||
{
|
||||
obj = json_tokener_parse_ex(tok, &buf[start_pos], ret - start_pos);
|
||||
enum json_tokener_error jerr = json_tokener_get_error(tok);
|
||||
int parse_end = json_tokener_get_parse_end(tok);
|
||||
if (obj == NULL && jerr != json_tokener_continue)
|
||||
{
|
||||
char *aterr = &buf[start_pos + parse_end];
|
||||
fflush(stdout);
|
||||
int fail_offset = total_read - ret + start_pos + parse_end;
|
||||
fprintf(stderr, "Failed at offset %d: %s %c\n", fail_offset,
|
||||
json_tokener_error_desc(jerr), aterr[0]);
|
||||
json_tokener_free(tok);
|
||||
return 1;
|
||||
}
|
||||
if (obj != NULL)
|
||||
{
|
||||
int cb_ret = callback(obj);
|
||||
json_object_put(obj);
|
||||
if (cb_ret != 0)
|
||||
{
|
||||
json_tokener_free(tok);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
start_pos += json_tokener_get_parse_end(tok);
|
||||
assert(start_pos <= ret);
|
||||
}
|
||||
}
|
||||
if (ret < 0)
|
||||
{
|
||||
fprintf(stderr, "error reading fd %d: %s\n", fd, strerror(errno));
|
||||
}
|
||||
|
||||
json_tokener_free(tok);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int showobj(struct json_object *new_obj)
|
||||
{
|
||||
if (new_obj == NULL)
|
||||
{
|
||||
fprintf(stderr, "%s: Failed to parse\n", fname);
|
||||
return 1;
|
||||
}
|
||||
|
||||
printf("Successfully parsed object from %s\n", fname);
|
||||
|
||||
if (show_output)
|
||||
{
|
||||
const char *output;
|
||||
if (formatted_output)
|
||||
output = json_object_to_json_string(new_obj);
|
||||
else
|
||||
output = json_object_to_json_string_ext(new_obj, JSON_C_TO_STRING_PRETTY);
|
||||
printf("%s\n", output);
|
||||
}
|
||||
|
||||
showmem();
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void usage(const char *argv0, int exitval, const char *errmsg)
|
||||
{
|
||||
FILE *fp = stdout;
|
||||
if (exitval != 0)
|
||||
fp = stderr;
|
||||
if (errmsg != NULL)
|
||||
fprintf(fp, "ERROR: %s\n\n", errmsg);
|
||||
fprintf(fp, "Usage: %s [-f] [-n] [-s]\n", argv0);
|
||||
fprintf(fp, " -f - Format the output with JSON_C_TO_STRING_PRETTY\n");
|
||||
fprintf(fp, " -n - No output\n");
|
||||
fprintf(fp, " -s - Parse in strict mode, flags:\n");
|
||||
fprintf(fp, " JSON_TOKENER_STRICT|JSON_TOKENER_ALLOW_TRAILING_CHARS\n");
|
||||
|
||||
fprintf(fp, "\nWARNING WARNING WARNING\n");
|
||||
fprintf(fp, "This is a prototype, it may change or be removed at any time!\n");
|
||||
exit(exitval);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
json_object *new_obj;
|
||||
int opt;
|
||||
|
||||
while ((opt = getopt(argc, argv, "fhns")) != -1)
|
||||
{
|
||||
switch (opt)
|
||||
{
|
||||
case 'f': formatted_output = 1; break;
|
||||
case 'n': show_output = 0; break;
|
||||
case 's': strict_mode = 1; break;
|
||||
case 'h': usage(argv[0], 0, NULL);
|
||||
default: /* '?' */ usage(argv[0], EXIT_FAILURE, "Unknown arguments");
|
||||
}
|
||||
}
|
||||
if (optind >= argc)
|
||||
{
|
||||
usage(argv[0], EXIT_FAILURE, "Expected argument after options");
|
||||
}
|
||||
fname = argv[optind];
|
||||
|
||||
int fd = open(argv[optind], O_RDONLY, 0);
|
||||
showmem();
|
||||
if (parseit(fd, showobj) != 0)
|
||||
exit(EXIT_FAILURE);
|
||||
showmem();
|
||||
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
52
appveyor.yml
@@ -1,39 +1,37 @@
|
||||
version: '{branch}.{build}'
|
||||
os: Windows Server 2012 R2
|
||||
|
||||
configuration:
|
||||
- Debug
|
||||
- Release
|
||||
platform: x64
|
||||
|
||||
# There should be a better way to set-up a build matrix.
|
||||
environment:
|
||||
matrix:
|
||||
- PlatformToolset: v140
|
||||
- PlatformToolset: v120
|
||||
- PlatformToolset: Windows7.1SDK
|
||||
- b_toolset: Windows7.1SDK
|
||||
b_config: Debug
|
||||
|
||||
- b_toolset: Windows7.1SDK
|
||||
b_config: Release
|
||||
|
||||
- b_toolset: v120
|
||||
b_config: Debug
|
||||
|
||||
- b_toolset: v120
|
||||
b_config: Release
|
||||
|
||||
- b_toolset: v140
|
||||
b_config: Debug
|
||||
|
||||
- b_toolset: v140
|
||||
b_config: Release
|
||||
|
||||
build_script:
|
||||
- cmake .
|
||||
- >
|
||||
msbuild "json-c.vcxproj" /m /verbosity:normal
|
||||
/logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
||||
/p:PlatformToolset=%PlatformToolset% /p:OutDir=lib\
|
||||
- cmake -T %b_toolset% -DCMAKE_BUILD_TYPE=%b_config% -DCMAKE_INSTALL_PREFIX=t_install .
|
||||
- cmake --build . --target install
|
||||
|
||||
after_build:
|
||||
- md include\json-c
|
||||
- copy json.h include\json-c\*
|
||||
- copy debug.h include\json-c\*
|
||||
- copy linkhash.h include\json-c\*
|
||||
- copy arraylist.h include\json-c\*
|
||||
- copy json_util.h include\json-c\*
|
||||
- copy json_object.h include\json-c\*
|
||||
- copy json_tokener.h include\json-c\*
|
||||
- copy json_object_iterator.h include\json-c\*
|
||||
- copy json_c_version.h include\json-c\*
|
||||
- copy json_inttypes.h include\json-c\*
|
||||
- copy include\json_config.h include\json-c\*
|
||||
- copy json_object_private.h include\json-c\*
|
||||
- 7z a json-c.lib.zip lib\json-c.dll include\json-c\*.h
|
||||
- cd t_install
|
||||
- 7z a ../json-c.win32.%b_toolset%.%b_config%.zip *
|
||||
|
||||
artifacts:
|
||||
- path: json-c.lib.zip
|
||||
name: json-c.lib.zip
|
||||
- path: json-c.win32.%b_toolset%.%b_config%.zip
|
||||
name: json-c.win32.%b_toolset%.%b_config%.zip
|
||||
|
||||
174
arraylist.c
@@ -14,12 +14,12 @@
|
||||
#include <limits.h>
|
||||
|
||||
#ifdef STDC_HEADERS
|
||||
# include <stdlib.h>
|
||||
# include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#endif /* STDC_HEADERS */
|
||||
|
||||
#if defined(HAVE_STRINGS_H) && !defined(_STRING_H) && !defined(__USE_BSD)
|
||||
# include <strings.h>
|
||||
#include <strings.h>
|
||||
#endif /* HAVE_STRINGS_H */
|
||||
|
||||
#ifndef SIZE_T_MAX
|
||||
@@ -36,111 +36,139 @@
|
||||
|
||||
#include "arraylist.h"
|
||||
|
||||
struct array_list*
|
||||
array_list_new(array_list_free_fn *free_fn)
|
||||
struct array_list *array_list_new(array_list_free_fn *free_fn)
|
||||
{
|
||||
struct array_list *arr;
|
||||
struct array_list *arr;
|
||||
|
||||
arr = (struct array_list*)calloc(1, sizeof(struct array_list));
|
||||
if(!arr) return NULL;
|
||||
arr->size = ARRAY_LIST_DEFAULT_SIZE;
|
||||
arr->length = 0;
|
||||
arr->free_fn = free_fn;
|
||||
if(!(arr->array = (void**)calloc(sizeof(void*), arr->size))) {
|
||||
free(arr);
|
||||
return NULL;
|
||||
}
|
||||
return arr;
|
||||
arr = (struct array_list *)malloc(sizeof(struct array_list));
|
||||
if (!arr)
|
||||
return NULL;
|
||||
arr->size = ARRAY_LIST_DEFAULT_SIZE;
|
||||
arr->length = 0;
|
||||
arr->free_fn = free_fn;
|
||||
if (!(arr->array = (void **)malloc(arr->size * sizeof(void *))))
|
||||
{
|
||||
free(arr);
|
||||
return NULL;
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
|
||||
extern void
|
||||
array_list_free(struct array_list *arr)
|
||||
extern void array_list_free(struct array_list *arr)
|
||||
{
|
||||
size_t i;
|
||||
for(i = 0; i < arr->length; i++)
|
||||
if(arr->array[i]) arr->free_fn(arr->array[i]);
|
||||
free(arr->array);
|
||||
free(arr);
|
||||
size_t i;
|
||||
for (i = 0; i < arr->length; i++)
|
||||
if (arr->array[i])
|
||||
arr->free_fn(arr->array[i]);
|
||||
free(arr->array);
|
||||
free(arr);
|
||||
}
|
||||
|
||||
void*
|
||||
array_list_get_idx(struct array_list *arr, size_t i)
|
||||
void *array_list_get_idx(struct array_list *arr, size_t i)
|
||||
{
|
||||
if(i >= arr->length) return NULL;
|
||||
return arr->array[i];
|
||||
if (i >= arr->length)
|
||||
return NULL;
|
||||
return arr->array[i];
|
||||
}
|
||||
|
||||
static int array_list_expand_internal(struct array_list *arr, size_t max)
|
||||
{
|
||||
void *t;
|
||||
size_t new_size;
|
||||
void *t;
|
||||
size_t new_size;
|
||||
|
||||
if(max < arr->size) return 0;
|
||||
/* Avoid undefined behaviour on size_t overflow */
|
||||
if( arr->size >= SIZE_T_MAX / 2 )
|
||||
new_size = max;
|
||||
else
|
||||
{
|
||||
new_size = arr->size << 1;
|
||||
if (new_size < max)
|
||||
new_size = max;
|
||||
}
|
||||
if (new_size > (~((size_t)0)) / sizeof(void*)) return -1;
|
||||
if (!(t = realloc(arr->array, new_size*sizeof(void*)))) return -1;
|
||||
arr->array = (void**)t;
|
||||
(void)memset(arr->array + arr->size, 0, (new_size-arr->size)*sizeof(void*));
|
||||
arr->size = new_size;
|
||||
return 0;
|
||||
if (max < arr->size)
|
||||
return 0;
|
||||
/* Avoid undefined behaviour on size_t overflow */
|
||||
if (arr->size >= SIZE_T_MAX / 2)
|
||||
new_size = max;
|
||||
else
|
||||
{
|
||||
new_size = arr->size << 1;
|
||||
if (new_size < max)
|
||||
new_size = max;
|
||||
}
|
||||
if (new_size > (~((size_t)0)) / sizeof(void *))
|
||||
return -1;
|
||||
if (!(t = realloc(arr->array, new_size * sizeof(void *))))
|
||||
return -1;
|
||||
arr->array = (void **)t;
|
||||
arr->size = new_size;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
array_list_put_idx(struct array_list *arr, size_t idx, void *data)
|
||||
//static inline int _array_list_put_idx(struct array_list *arr, size_t idx, void *data)
|
||||
int array_list_put_idx(struct array_list *arr, size_t idx, void *data)
|
||||
{
|
||||
if (idx > SIZE_T_MAX - 1 ) return -1;
|
||||
if(array_list_expand_internal(arr, idx+1)) return -1;
|
||||
if(idx < arr->length && arr->array[idx])
|
||||
arr->free_fn(arr->array[idx]);
|
||||
arr->array[idx] = data;
|
||||
if(arr->length <= idx) arr->length = idx + 1;
|
||||
return 0;
|
||||
if (idx > SIZE_T_MAX - 1)
|
||||
return -1;
|
||||
if (array_list_expand_internal(arr, idx + 1))
|
||||
return -1;
|
||||
if (idx < arr->length && arr->array[idx])
|
||||
arr->free_fn(arr->array[idx]);
|
||||
arr->array[idx] = data;
|
||||
if (idx > arr->length)
|
||||
{
|
||||
/* Zero out the arraylist slots in between the old length
|
||||
and the newly added entry so we know those entries are
|
||||
empty.
|
||||
e.g. when setting array[7] in an array that used to be
|
||||
only 5 elements longs, array[5] and array[6] need to be
|
||||
set to 0.
|
||||
*/
|
||||
memset(arr->array + arr->length, 0, (idx - arr->length) * sizeof(void *));
|
||||
}
|
||||
if (arr->length <= idx)
|
||||
arr->length = idx + 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
array_list_add(struct array_list *arr, void *data)
|
||||
int array_list_add(struct array_list *arr, void *data)
|
||||
{
|
||||
return array_list_put_idx(arr, arr->length, data);
|
||||
/* Repeat some of array_list_put_idx() so we can skip several
|
||||
checks that we know are unnecessary when appending at the end
|
||||
*/
|
||||
size_t idx = arr->length;
|
||||
if (idx > SIZE_T_MAX - 1)
|
||||
return -1;
|
||||
if (array_list_expand_internal(arr, idx + 1))
|
||||
return -1;
|
||||
arr->array[idx] = data;
|
||||
arr->length++;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
array_list_sort(struct array_list *arr, int(*sort_fn)(const void *, const void *))
|
||||
void array_list_sort(struct array_list *arr, int (*compar)(const void *, const void *))
|
||||
{
|
||||
qsort(arr->array, arr->length, sizeof(arr->array[0]), sort_fn);
|
||||
qsort(arr->array, arr->length, sizeof(arr->array[0]), compar);
|
||||
}
|
||||
|
||||
void* array_list_bsearch(const void **key, struct array_list *arr,
|
||||
int (*sort_fn)(const void *, const void *))
|
||||
void *array_list_bsearch(const void **key, struct array_list *arr,
|
||||
int (*compar)(const void *, const void *))
|
||||
{
|
||||
return bsearch(key, arr->array, arr->length, sizeof(arr->array[0]),
|
||||
sort_fn);
|
||||
return bsearch(key, arr->array, arr->length, sizeof(arr->array[0]), compar);
|
||||
}
|
||||
|
||||
size_t
|
||||
array_list_length(struct array_list *arr)
|
||||
size_t array_list_length(struct array_list *arr)
|
||||
{
|
||||
return arr->length;
|
||||
return arr->length;
|
||||
}
|
||||
|
||||
int
|
||||
array_list_del_idx( struct array_list *arr, size_t idx, size_t count )
|
||||
int array_list_del_idx(struct array_list *arr, size_t idx, size_t count)
|
||||
{
|
||||
size_t i, stop;
|
||||
|
||||
/* Avoid overflow in calculation with large indices. */
|
||||
if (idx > SIZE_T_MAX - count)
|
||||
return -1;
|
||||
stop = idx + count;
|
||||
if ( idx >= arr->length || stop > arr->length ) return -1;
|
||||
for ( i = idx; i < stop; ++i ) {
|
||||
if ( arr->array[i] ) arr->free_fn( arr->array[i] );
|
||||
if (idx >= arr->length || stop > arr->length)
|
||||
return -1;
|
||||
for (i = idx; i < stop; ++i)
|
||||
{
|
||||
if (arr->array[i])
|
||||
arr->free_fn(arr->array[i]);
|
||||
}
|
||||
memmove( arr->array + idx, arr->array + stop, (arr->length - stop) * sizeof(void*) );
|
||||
memmove(arr->array + idx, arr->array + stop, (arr->length - stop) * sizeof(void *));
|
||||
arr->length -= count;
|
||||
return 0;
|
||||
}
|
||||
|
||||
41
arraylist.h
@@ -22,46 +22,39 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#define ARRAY_LIST_DEFAULT_SIZE 32
|
||||
|
||||
typedef void (array_list_free_fn) (void *data);
|
||||
typedef void(array_list_free_fn)(void *data);
|
||||
|
||||
struct array_list
|
||||
{
|
||||
void **array;
|
||||
size_t length;
|
||||
size_t size;
|
||||
array_list_free_fn *free_fn;
|
||||
void **array;
|
||||
size_t length;
|
||||
size_t size;
|
||||
array_list_free_fn *free_fn;
|
||||
};
|
||||
typedef struct array_list array_list;
|
||||
|
||||
extern struct array_list*
|
||||
array_list_new(array_list_free_fn *free_fn);
|
||||
extern struct array_list *array_list_new(array_list_free_fn *free_fn);
|
||||
|
||||
extern void
|
||||
array_list_free(struct array_list *al);
|
||||
extern void array_list_free(struct array_list *al);
|
||||
|
||||
extern void*
|
||||
array_list_get_idx(struct array_list *al, size_t i);
|
||||
extern void *array_list_get_idx(struct array_list *al, size_t i);
|
||||
|
||||
extern int
|
||||
array_list_put_idx(struct array_list *al, size_t i, void *data);
|
||||
extern int array_list_put_idx(struct array_list *al, size_t i, void *data);
|
||||
|
||||
extern int
|
||||
array_list_add(struct array_list *al, void *data);
|
||||
extern int array_list_add(struct array_list *al, void *data);
|
||||
|
||||
extern size_t
|
||||
array_list_length(struct array_list *al);
|
||||
extern size_t array_list_length(struct array_list *al);
|
||||
|
||||
extern void
|
||||
array_list_sort(struct array_list *arr, int(*compar)(const void *, const void *));
|
||||
extern void array_list_sort(struct array_list *arr, int (*compar)(const void *, const void *));
|
||||
|
||||
extern void* array_list_bsearch(const void **key,
|
||||
struct array_list *arr,
|
||||
int (*sort_fn)(const void *, const void *));
|
||||
extern void *array_list_bsearch(const void **key, struct array_list *arr,
|
||||
int (*compar)(const void *, const void *));
|
||||
|
||||
extern int
|
||||
array_list_del_idx(struct array_list *arr, size_t idx, size_t count);
|
||||
extern int array_list_del_idx(struct array_list *arr, size_t idx, size_t count);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
|
||||
Autoconf Archive fetched from:
|
||||
|
||||
http://gnu.mirror.iweb.com/autoconf-archive/autoconf-archive-2015.09.25.tar.xz
|
||||
|
||||
Grabbed the minimum files needed for the AX_APPEND_COMPILE_FLAGS and
|
||||
AX_COMPILE_CHECK_SIZEOF macros.
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_append_compile_flags.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_APPEND_COMPILE_FLAGS([FLAG1 FLAG2 ...], [FLAGS-VARIABLE], [EXTRA-FLAGS])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# For every FLAG1, FLAG2 it is checked whether the compiler works with the
|
||||
# flag. If it does, the flag is added FLAGS-VARIABLE
|
||||
#
|
||||
# If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
|
||||
# CFLAGS) is used. During the check the flag is always added to the
|
||||
# current language's flags.
|
||||
#
|
||||
# If EXTRA-FLAGS is defined, it is added to the current language's default
|
||||
# flags (e.g. CFLAGS) when the check is done. The check is thus made with
|
||||
# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to
|
||||
# force the compiler to issue an error when a bad flag is given.
|
||||
#
|
||||
# NOTE: This macro depends on the AX_APPEND_FLAG and
|
||||
# AX_CHECK_COMPILE_FLAG. Please keep this macro in sync with
|
||||
# AX_APPEND_LINK_FLAGS.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
# Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
# scripts that are the output of Autoconf when processing the Macro. You
|
||||
# need not follow the terms of the GNU General Public License when using
|
||||
# or distributing such scripts, even though portions of the text of the
|
||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||
# all other use of the material that constitutes the Autoconf Macro.
|
||||
#
|
||||
# This special exception to the GPL applies to versions of the Autoconf
|
||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
#serial 4
|
||||
|
||||
AC_DEFUN([AX_APPEND_COMPILE_FLAGS],
|
||||
[AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
|
||||
AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
|
||||
for flag in $1; do
|
||||
AX_CHECK_COMPILE_FLAG([$flag], [AX_APPEND_FLAG([$flag], [$2])], [], [$3])
|
||||
done
|
||||
])dnl AX_APPEND_COMPILE_FLAGS
|
||||
@@ -1,71 +0,0 @@
|
||||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_append_flag.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_APPEND_FLAG(FLAG, [FLAGS-VARIABLE])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# FLAG is appended to the FLAGS-VARIABLE shell variable, with a space
|
||||
# added in between.
|
||||
#
|
||||
# If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
|
||||
# CFLAGS) is used. FLAGS-VARIABLE is not changed if it already contains
|
||||
# FLAG. If FLAGS-VARIABLE is unset in the shell, it is set to exactly
|
||||
# FLAG.
|
||||
#
|
||||
# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
|
||||
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
# Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
# scripts that are the output of Autoconf when processing the Macro. You
|
||||
# need not follow the terms of the GNU General Public License when using
|
||||
# or distributing such scripts, even though portions of the text of the
|
||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||
# all other use of the material that constitutes the Autoconf Macro.
|
||||
#
|
||||
# This special exception to the GPL applies to versions of the Autoconf
|
||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
#serial 6
|
||||
|
||||
AC_DEFUN([AX_APPEND_FLAG],
|
||||
[dnl
|
||||
AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF
|
||||
AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])])
|
||||
AS_VAR_SET_IF(FLAGS,[
|
||||
AS_CASE([" AS_VAR_GET(FLAGS) "],
|
||||
[*" $1 "*], [AC_RUN_LOG([: FLAGS already contains $1])],
|
||||
[
|
||||
AS_VAR_APPEND(FLAGS,[" $1"])
|
||||
AC_RUN_LOG([: FLAGS="$FLAGS"])
|
||||
])
|
||||
],
|
||||
[
|
||||
AS_VAR_SET(FLAGS,[$1])
|
||||
AC_RUN_LOG([: FLAGS="$FLAGS"])
|
||||
])
|
||||
AS_VAR_POPDEF([FLAGS])dnl
|
||||
])dnl AX_APPEND_FLAG
|
||||
@@ -1,74 +0,0 @@
|
||||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Check whether the given FLAG works with the current language's compiler
|
||||
# or gives an error. (Warnings, however, are ignored)
|
||||
#
|
||||
# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
|
||||
# success/failure.
|
||||
#
|
||||
# If EXTRA-FLAGS is defined, it is added to the current language's default
|
||||
# flags (e.g. CFLAGS) when the check is done. The check is thus made with
|
||||
# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to
|
||||
# force the compiler to issue an error when a bad flag is given.
|
||||
#
|
||||
# INPUT gives an alternative input source to AC_COMPILE_IFELSE.
|
||||
#
|
||||
# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
|
||||
# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
|
||||
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
# Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
# scripts that are the output of Autoconf when processing the Macro. You
|
||||
# need not follow the terms of the GNU General Public License when using
|
||||
# or distributing such scripts, even though portions of the text of the
|
||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||
# all other use of the material that constitutes the Autoconf Macro.
|
||||
#
|
||||
# This special exception to the GPL applies to versions of the Autoconf
|
||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
#serial 4
|
||||
|
||||
AC_DEFUN([AX_CHECK_COMPILE_FLAG],
|
||||
[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
|
||||
AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
|
||||
AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
|
||||
ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
|
||||
_AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
|
||||
AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
|
||||
[AS_VAR_SET(CACHEVAR,[yes])],
|
||||
[AS_VAR_SET(CACHEVAR,[no])])
|
||||
_AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
|
||||
AS_VAR_IF(CACHEVAR,yes,
|
||||
[m4_default([$2], :)],
|
||||
[m4_default([$3], :)])
|
||||
AS_VAR_POPDEF([CACHEVAR])dnl
|
||||
])dnl AX_CHECK_COMPILE_FLAGS
|
||||
@@ -1,114 +0,0 @@
|
||||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_compile_check_sizeof.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_COMPILE_CHECK_SIZEOF(TYPE [, HEADERS [, EXTRA_SIZES...]])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# This macro checks for the size of TYPE using compile checks, not run
|
||||
# checks. You can supply extra HEADERS to look into. the check will cycle
|
||||
# through 1 2 4 8 16 and any EXTRA_SIZES the user supplies. If a match is
|
||||
# found, it will #define SIZEOF_`TYPE' to that value. Otherwise it will
|
||||
# emit a configure time error indicating the size of the type could not be
|
||||
# determined.
|
||||
#
|
||||
# The trick is that C will not allow duplicate case labels. While this is
|
||||
# valid C code:
|
||||
#
|
||||
# switch (0) case 0: case 1:;
|
||||
#
|
||||
# The following is not:
|
||||
#
|
||||
# switch (0) case 0: case 0:;
|
||||
#
|
||||
# Thus, the AC_TRY_COMPILE will fail if the currently tried size does not
|
||||
# match.
|
||||
#
|
||||
# Here is an example skeleton configure.in script, demonstrating the
|
||||
# macro's usage:
|
||||
#
|
||||
# AC_PROG_CC
|
||||
# AC_CHECK_HEADERS(stddef.h unistd.h)
|
||||
# AC_TYPE_SIZE_T
|
||||
# AC_CHECK_TYPE(ssize_t, int)
|
||||
#
|
||||
# headers='#ifdef HAVE_STDDEF_H
|
||||
# #include <stddef.h>
|
||||
# #endif
|
||||
# #ifdef HAVE_UNISTD_H
|
||||
# #include <unistd.h>
|
||||
# #endif
|
||||
# '
|
||||
#
|
||||
# AX_COMPILE_CHECK_SIZEOF(char)
|
||||
# AX_COMPILE_CHECK_SIZEOF(short)
|
||||
# AX_COMPILE_CHECK_SIZEOF(int)
|
||||
# AX_COMPILE_CHECK_SIZEOF(long)
|
||||
# AX_COMPILE_CHECK_SIZEOF(unsigned char *)
|
||||
# AX_COMPILE_CHECK_SIZEOF(void *)
|
||||
# AX_COMPILE_CHECK_SIZEOF(size_t, $headers)
|
||||
# AX_COMPILE_CHECK_SIZEOF(ssize_t, $headers)
|
||||
# AX_COMPILE_CHECK_SIZEOF(ptrdiff_t, $headers)
|
||||
# AX_COMPILE_CHECK_SIZEOF(off_t, $headers)
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Kaveh Ghazi <ghazi@caip.rutgers.edu>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
# Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
# scripts that are the output of Autoconf when processing the Macro. You
|
||||
# need not follow the terms of the GNU General Public License when using
|
||||
# or distributing such scripts, even though portions of the text of the
|
||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||
# all other use of the material that constitutes the Autoconf Macro.
|
||||
#
|
||||
# This special exception to the GPL applies to versions of the Autoconf
|
||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
#serial 5
|
||||
|
||||
AU_ALIAS([AC_COMPILE_CHECK_SIZEOF], [AX_COMPILE_CHECK_SIZEOF])
|
||||
AC_DEFUN([AX_COMPILE_CHECK_SIZEOF],
|
||||
[changequote(<<, >>)dnl
|
||||
dnl The name to #define.
|
||||
define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
|
||||
dnl The cache variable name.
|
||||
define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
|
||||
changequote([, ])dnl
|
||||
AC_MSG_CHECKING(size of $1)
|
||||
AC_CACHE_VAL(AC_CV_NAME,
|
||||
[for ac_size in 4 8 1 2 16 $3 ; do # List sizes in rough order of prevalence.
|
||||
AC_TRY_COMPILE([#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
$2
|
||||
], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
|
||||
if test x$AC_CV_NAME != x ; then break; fi
|
||||
done
|
||||
])
|
||||
if test x$AC_CV_NAME = x ; then
|
||||
AC_MSG_ERROR([cannot determine a size for $1])
|
||||
fi
|
||||
AC_MSG_RESULT($AC_CV_NAME)
|
||||
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
|
||||
undefine([AC_TYPE_NAME])dnl
|
||||
undefine([AC_CV_NAME])dnl
|
||||
])
|
||||
@@ -1,37 +0,0 @@
|
||||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_require_defined.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_REQUIRE_DEFINED(MACRO)
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# AX_REQUIRE_DEFINED is a simple helper for making sure other macros have
|
||||
# been defined and thus are available for use. This avoids random issues
|
||||
# where a macro isn't expanded. Instead the configure script emits a
|
||||
# non-fatal:
|
||||
#
|
||||
# ./configure: line 1673: AX_CFLAGS_WARN_ALL: command not found
|
||||
#
|
||||
# It's like AC_REQUIRE except it doesn't expand the required macro.
|
||||
#
|
||||
# Here's an example:
|
||||
#
|
||||
# AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2014 Mike Frysinger <vapier@gentoo.org>
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 1
|
||||
|
||||
AC_DEFUN([AX_REQUIRE_DEFINED], [dnl
|
||||
m4_ifndef([$1], [m4_fatal([macro ]$1[ is not defined; is a m4 file missing?])])
|
||||
])dnl AX_REQUIRE_DEFINED
|
||||
13
autogen.sh
@@ -1,13 +0,0 @@
|
||||
#!/bin/sh
|
||||
autoreconf -v --install || exit 1
|
||||
|
||||
# If there are any options, assume the user wants to run configure.
|
||||
# To run configure w/o any options, use ./autogen.sh --configure
|
||||
if [ $# -gt 0 ] ; then
|
||||
case "$1" in
|
||||
--conf*)
|
||||
shift 1
|
||||
;;
|
||||
esac
|
||||
exec ./configure "$@"
|
||||
fi
|
||||
80
bench/README.bench.md
Normal file
@@ -0,0 +1,80 @@
|
||||
|
||||
Benchmark tests for json-c
|
||||
|
||||
General strategy:
|
||||
-------------------
|
||||
|
||||
* Identify "after" commit hash
|
||||
* Use provided directory
|
||||
* Use provided commit hash
|
||||
* Local changes in current working directory
|
||||
* ${cur_branch}
|
||||
* Identify "before" commit hash, in order of preference
|
||||
* Use provided directory
|
||||
* Use provided commit hash
|
||||
* Use origin/${cur_branch}, if different from ${after_commit}
|
||||
* Use previous release
|
||||
|
||||
* If not using existing dir, clone to src-${after_commit}
|
||||
* or, checkout appropriate commit in existing src-${after_commit}
|
||||
* Create build & install dirs for ${after_commit}
|
||||
* Build & install ${after_commit}
|
||||
* Compile benchmark programs against install-${after_commit}
|
||||
|
||||
* If not using existing dir, clone to src-${before_commit}
|
||||
* or, checkout appropriate commit in existing src-${before_commit}
|
||||
* Create build & install dirs for ${before_commit}
|
||||
* Build & install ${before_commit}
|
||||
* Compile benchmark programs against install-${before_commit}
|
||||
|
||||
* Run benchmark in each location
|
||||
* Compare results
|
||||
|
||||
heaptrack memory profiler
|
||||
---------------------------
|
||||
|
||||
https://milianw.de/blog/heaptrack-a-heap-memory-profiler-for-linux.html
|
||||
|
||||
|
||||
```
|
||||
yum install libdwarf-devel elfutils boost-devel libunwind-devel
|
||||
|
||||
git clone git://anongit.kde.org/heaptrack
|
||||
cd heaptrack
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_INSTALL_PREFIX=$HOME/heaptrack-install ..
|
||||
make install
|
||||
```
|
||||
|
||||
|
||||
Issues
|
||||
--------
|
||||
|
||||
* jc-bench.sh is incomplete.
|
||||
|
||||
* valgrind massif misreports "extra-heap" bytes?
|
||||
|
||||
"json_parse -n canada.json" shows 38640 KB maxrss.
|
||||
|
||||
Using valgrind --tool=massif, a large amount of memory is listed as
|
||||
wasted "extra-heap" bytes. (~5.6MB)
|
||||
|
||||
```
|
||||
valgrind --tool=massif --massif-out-file=massif.out ./json_parse -n ~/canada.json
|
||||
ms_print massif.out
|
||||
```
|
||||
|
||||
|
||||
Using heaptrack, and analyzing the histogram, only shows ~2.6MB
|
||||
```
|
||||
heaptrack ./json_parse -n canada.json
|
||||
heaptrack --analyze heaptrack*gz -H histgram.out
|
||||
awk ' { s=$1; count=$2; ru=(int((s+ 15) / 16)) * 16; wasted = ((ru-s)*count); print s, count, ru-s, wasted; total=total+wasted} END { print "Total: ", total }' histogram.out
|
||||
```
|
||||
|
||||
With the (unreleased) arraylist trimming changes, maxrss reported by
|
||||
getrusage() goes down, but massif claims *more* total usage, and a HUGE
|
||||
extra-heap amount (50% of total).
|
||||
|
||||
284
bench/jc-bench.sh
Executable file
@@ -0,0 +1,284 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Benchmarking harness for json-c
|
||||
#
|
||||
# Use this to compare the behavior of two different versions of the library,
|
||||
# such as json-c-0.14 release vs master, master vs local changes, etc...
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
trap 'echo "FAILED!"' EXIT
|
||||
|
||||
RUNDIR=$(dirname "$0")
|
||||
RUNDIR=$(cd "$RUNDIR" && pwd)
|
||||
|
||||
TOP=$(cd "$RUNDIR/.." && pwd)
|
||||
|
||||
usage()
|
||||
{
|
||||
exitval=$1
|
||||
errmsg=$2
|
||||
if [ $exitval -ne 0 ] ; then
|
||||
exec 1>&2
|
||||
fi
|
||||
if [ ! -z "$errmsg" ] ; then
|
||||
echo "ERROR: $errmsg" 1>&2
|
||||
fi
|
||||
cat <<EOF
|
||||
Usage: $0 [-h] [-v] [--build] [--run] [--compare] ...XAX...
|
||||
EOF
|
||||
|
||||
exit $extival
|
||||
}
|
||||
|
||||
before_arg=
|
||||
after_arg=
|
||||
do_all=1
|
||||
do_build=0
|
||||
do_run=0
|
||||
do_compare=0
|
||||
|
||||
while [ $# -gt 0 ] ; do
|
||||
case "$1" in
|
||||
--before)
|
||||
before_arg=$2
|
||||
shift
|
||||
;;
|
||||
--after)
|
||||
after_arg=$2
|
||||
shift
|
||||
;;
|
||||
--build)
|
||||
do_all=0
|
||||
do_build=1
|
||||
;;
|
||||
--run)
|
||||
do_all=0
|
||||
do_run=1
|
||||
;;
|
||||
--compare)
|
||||
do_all=0
|
||||
do_compare=1
|
||||
;;
|
||||
-h)
|
||||
usage 0 ""
|
||||
;;
|
||||
-v)
|
||||
set -x
|
||||
;;
|
||||
*)
|
||||
usage 1 "Unknown args: $*"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
WORK="${RUNDIR}/work"
|
||||
mkdir -p "${WORK}"
|
||||
|
||||
DATA="${RUNDIR}/data"
|
||||
mkdir -p "${DATA}"
|
||||
|
||||
for file in citm_catalog.json twitter.json canada.json ; do
|
||||
if [ ! -r "${DATA}/${file}" ] ; then
|
||||
echo "Fetching ${file} from github.com/mloskot/json_benchmark"
|
||||
URL="https://github.com/mloskot/json_benchmark/raw/master/data/${file}"
|
||||
curl -s -L -o "${DATA}/${file}" "$URL"
|
||||
fi
|
||||
done
|
||||
echo
|
||||
|
||||
# Identify "after" commit hash, in order of preference
|
||||
if [ ! -z "$after_arg" -a -d "$after_arg" ] ; then
|
||||
# Use provided directory
|
||||
after_src_dir="$after_arg"
|
||||
after_commit=
|
||||
echo "Using provided directory [$after_arg] as 'after'"
|
||||
else
|
||||
_commit=
|
||||
if [ ! -z "$after_arg" ] ; then
|
||||
# Use provided commit hash
|
||||
_commit=$(git rev-parse --verify "$after_arg")
|
||||
fi
|
||||
if [ ! -z "$_commit" ] ;then
|
||||
after_src_dir= # i.e. current tree
|
||||
after_commit="$_commit"
|
||||
echo "Using provided commit [$after_arg => $_commit] as 'after'"
|
||||
else
|
||||
# Local changes in current working directory
|
||||
# ${cur_branch}
|
||||
after_src_dir=$TOP
|
||||
after_commit=
|
||||
echo "Using local changes in $TOP as 'after'"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Identify "before" commit hash, in order of preference
|
||||
if [ ! -z "$before_arg" -a -d "$before_arg" ] ; then
|
||||
# Use provided directory
|
||||
before_src_dir="$before_arg"
|
||||
before_commit=
|
||||
echo "Using provided directory [$before_arg] as 'before'"
|
||||
else
|
||||
_commit=
|
||||
if [ ! -z "$before_arg" ] ; then
|
||||
# Use provided commit hash
|
||||
_commit=$(git rev-parse --verify "$before_arg")
|
||||
fi
|
||||
if [ ! -z "$_commit" ] ;then
|
||||
before_src_dir= # i.e. current tree
|
||||
before_commit="$_commit"
|
||||
echo "Using provided commit [$before_arg => $_commit] as 'before'"
|
||||
else
|
||||
# Use origin/${cur_branch}, if different from ${after_commit}
|
||||
_cur_branch=$(git rev-parse --abbrev-ref HEAD)
|
||||
_commit=
|
||||
if [ ! -z "${_cur_branch}" ] ; then
|
||||
_commit=$(git rev-parse --verify "origin/${_cur_branch}")
|
||||
echo "Using origin/${_cur_branch} [$_commit] as 'before'"
|
||||
fi
|
||||
if [ "$_commit" = "${after_commit}" ] ; then
|
||||
_commit=
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -z "$_commit" ] ; then
|
||||
before_src_dir= # i.e. current tree
|
||||
before_commit="$_commit"
|
||||
else
|
||||
# Use previous release
|
||||
before_src_dir= # i.e. current tree
|
||||
before_commit="$(git tag | sort | tail -1)"
|
||||
echo "Using previous release [$before_commit] as 'before'"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo
|
||||
|
||||
compile_benchmark()
|
||||
{
|
||||
local bname=$1
|
||||
local src_dir="$2"
|
||||
local src_commit="$3"
|
||||
|
||||
local build_dir="${WORK}/$bname/build"
|
||||
local inst_dir="${WORK}/$bname/install"
|
||||
local bench_dir="${WORK}/$bname/bench"
|
||||
|
||||
echo
|
||||
echo "=========== $bname ==========="
|
||||
echo
|
||||
|
||||
mkdir -p "${build_dir}"
|
||||
mkdir -p "${inst_dir}"
|
||||
mkdir -p "${bench_dir}"
|
||||
|
||||
if [ ! -z "$src_commit" ] ; then
|
||||
# Resolve the short hash, tag or branch name to full hash
|
||||
src_commit=$(git rev-parse $src_commit)
|
||||
fi
|
||||
|
||||
# No src dir specified, clone and checkout $src_commit
|
||||
if [ -z "$src_dir" ] ; then
|
||||
src_dir="${WORK}/$bname/src"
|
||||
echo "=== Using sources in $src_dir"
|
||||
mkdir -p "$src_dir"
|
||||
at_commit=$(git --git-dir="$src_dir/.git" rev-parse HEAD 2> /dev/null || true)
|
||||
echo "at_commit: $at_commit"
|
||||
if [ -z "$at_commit" ] ; then
|
||||
# Assume it's an empty dir
|
||||
git clone -n "$TOP" "$src_dir"
|
||||
fi
|
||||
git -C "$src_dir" --git-dir="$src_dir/.git" checkout "$src_commit"
|
||||
fi
|
||||
# else, use the provided $src_dir
|
||||
|
||||
if [ -e "${src_dir}/CMakeLists.txt" ] ; then
|
||||
cd "${build_dir}"
|
||||
cmake -DCMAKE_INSTALL_PREFIX="${inst_dir}" "${src_dir}"
|
||||
else
|
||||
# Old versions of json-c used automake/autoconf
|
||||
cd "${src_dir}"
|
||||
sh autogen.sh # always run it, configure doesn't always work
|
||||
cd "${build_dir}"
|
||||
"${src_dir}/configure" --prefix="${inst_dir}"
|
||||
fi
|
||||
make all install
|
||||
|
||||
cd "${bench_dir}"
|
||||
cmake -DCMAKE_PREFIX_PATH="${inst_dir}" "${TOP}/apps"
|
||||
make all
|
||||
}
|
||||
|
||||
# XXX TODO: name "after" and "before" uniquely using the dir & commit
|
||||
|
||||
if [ $do_all -ne 0 -o $do_build -ne 0 ] ; then
|
||||
sleep 5 # Wait slightly, to allow the human to read the message
|
||||
# about what exactly we're doing to benchmark.
|
||||
compile_benchmark "after" "${after_src_dir}" "${after_commit}"
|
||||
compile_benchmark "before" "${before_src_dir}" "${before_commit}"
|
||||
fi
|
||||
|
||||
run_benchmark()
|
||||
{
|
||||
local bname=$1
|
||||
local inst_dir="${WORK}/$bname/install"
|
||||
local bench_dir="${WORK}/$bname/bench"
|
||||
|
||||
local INPUT=${DATA}/canada.json
|
||||
|
||||
cd "${bench_dir}"
|
||||
mkdir -p results
|
||||
(time ./json_parse -n "${INPUT}") > results/basic_timing.out 2>&1
|
||||
valgrind --tool=massif --massif-out-file=massif.out ./json_parse -n "${INPUT}"
|
||||
ms_print massif.out > results/ms_print.out
|
||||
heaptrack -o heaptrack_out ./json_parse -n "${INPUT}"
|
||||
heaptrack --analyze heaptrack_out.gz -H histogram.out > results/heaptrack.out
|
||||
awk ' { s=$1; count=$2; ru=(int((s+ 15) / 16)) * 16; wasted = ((ru-s)*count); print s, count, ru-s, wasted; total=total+wasted} END { print "Total: ", total }' histogram.out > results/histogram2.out
|
||||
|
||||
# XXX stamp some info about what was built & run into ./results/.
|
||||
|
||||
echo "DONE with $bname"
|
||||
}
|
||||
|
||||
if [ $do_all -ne 0 -o $do_run -ne 0 ] ; then
|
||||
run_benchmark "after"
|
||||
run_benchmark "before"
|
||||
fi
|
||||
|
||||
if [ $do_compare -ne 0 ] ; then
|
||||
# XXX this needs better analysis
|
||||
cd "${WORK}"
|
||||
diff -udr before/bench/results after/bench/results || true
|
||||
else
|
||||
echo "To compare results, run:"
|
||||
echo "$0 --compare"
|
||||
fi
|
||||
|
||||
trap '' EXIT
|
||||
|
||||
:<<=cut
|
||||
|
||||
Benchmarks to run:
|
||||
|
||||
* Parse JSON strings, of various sizes and characteristics
|
||||
* Flags: STRICT vs. non-STRICT, validate UTF8
|
||||
|
||||
* Serialization time
|
||||
* plain, spaces, pretty
|
||||
|
||||
* json_c_visit tests
|
||||
* JSON pointer tests
|
||||
|
||||
Things to record and compare:
|
||||
|
||||
* Running time
|
||||
* Peak memory usage
|
||||
* Useful bytes vs. overhead for memory allocations
|
||||
* Total number of allocations
|
||||
* Average allocation size
|
||||
* Log of all allocation sizes
|
||||
|
||||
=cut
|
||||
|
||||
36
bits.h
@@ -1,36 +0,0 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief Do not use, only contains deprecated defines.
|
||||
* @deprecated Use json_util.h instead.
|
||||
*
|
||||
* $Id: bits.h,v 1.10 2006/01/30 23:07:57 mclark Exp $
|
||||
*
|
||||
* Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd.
|
||||
* Michael Clark <michael@metaparadigm.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the MIT license. See COPYING for details.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _bits_h_
|
||||
#define _bits_h_
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
#define hexdigit(x) (((x) <= '9') ? (x) - '0' : ((x) & 7) + 9)
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
#define error_ptr(error) ((void*)error)
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
#define error_description(error) (json_tokener_get_error(error))
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
#define is_error(ptr) (ptr == NULL)
|
||||
|
||||
#endif
|
||||
90
cmake-configure
Executable file
@@ -0,0 +1,90 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Wrapper around cmake to emulate useful options
|
||||
# from the previous autoconf-based configure script.
|
||||
|
||||
RUNDIR=$(dirname "$0")
|
||||
RUNDIR=$(cd "$RUNDIR" && pwd)
|
||||
CURDIR=$(pwd)
|
||||
|
||||
FLAGS=()
|
||||
|
||||
usage()
|
||||
{
|
||||
exitval="$1"
|
||||
errmsg="$2"
|
||||
|
||||
if [ $exitval -ne 0 ] ; then
|
||||
exec 1>&2
|
||||
fi
|
||||
if [ ! -z "$errmsg" ] ; then
|
||||
echo "ERROR: $errmsg" 1>&2
|
||||
fi
|
||||
cat <<EOF
|
||||
$0 [<configure_options>] [-- [<cmake options>]]
|
||||
--prefix=PREFIX install architecture-independent files in PREFIX
|
||||
--enable-threading Enable code to support partly multi-threaded use
|
||||
--enable-rdrand Enable RDRAND Hardware RNG Hash Seed generation on
|
||||
supported x86/x64 platforms.
|
||||
--enable-shared build shared libraries [default=yes]
|
||||
--enable-static build static libraries [default=yes]
|
||||
--disable-Bsymbolic Avoid linking with -Bsymbolic-function
|
||||
--disable-werror Avoid treating compiler warnings as fatal errors
|
||||
|
||||
EOF
|
||||
exit
|
||||
}
|
||||
|
||||
if [ "$CURDIR" = "$RUNDIR" ] ; then
|
||||
usage 1 "Please mkdir some other build directory, and run this script from there."
|
||||
fi
|
||||
|
||||
if ! cmake --version ; then
|
||||
usage 1 "Unable to find a working cmake, please be sure you have it installed and on your PATH"
|
||||
fi
|
||||
|
||||
while [ $# -gt 0 ] ; do
|
||||
case "$1" in
|
||||
-h|--help)
|
||||
usage 0
|
||||
;;
|
||||
--prefix)
|
||||
FLAGS+=(-DCMAKE_INSTALL_PREFIX="$2")
|
||||
shift
|
||||
;;
|
||||
--prefix=*)
|
||||
FLAGS+=(-DCMAKE_INSTALL_PREFIX="${1##--prefix=}")
|
||||
;;
|
||||
--enable-threading)
|
||||
FLAGS+=(-DENABLE_THREADING=ON)
|
||||
;;
|
||||
--enable-rdrand)
|
||||
FLAGS+=(-DENABLE_RDRAND=ON)
|
||||
;;
|
||||
--enable-shared)
|
||||
FLAGS+=(-DBUILD_SHARED_LIBS=ON)
|
||||
;;
|
||||
--enable-static)
|
||||
FLAGS+=(-DBUILD_STATIC_LIBS=ON)
|
||||
;;
|
||||
--disable-Bsymbolic)
|
||||
FLAGS+=(-DDISABLE_BSYMBOLIC=ON)
|
||||
;;
|
||||
--disable-werror)
|
||||
FLAGS+=(-DDISABLE_WERROR=ON)
|
||||
;;
|
||||
--)
|
||||
shift
|
||||
break
|
||||
;;
|
||||
-*)
|
||||
usage 1 "Unknown arguments: $*"
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
exec cmake "${FLAGS[@]}" "$@" "${RUNDIR}"
|
||||
4
cmake/Config.cmake.in
Normal file
@@ -0,0 +1,4 @@
|
||||
@PACKAGE_INIT@
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake")
|
||||
check_required_components("@PROJECT_NAME@")
|
||||
@@ -1,196 +1,213 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Enable RDRAND Hardware RNG Hash Seed */
|
||||
#undef ENABLE_RDRAND
|
||||
#cmakedefine ENABLE_RDRAND "@ENABLE_RDRAND@"
|
||||
|
||||
/* Enable partial threading support */
|
||||
#undef ENABLE_THREADING
|
||||
#cmakedefine ENABLE_THREADING "@@"
|
||||
|
||||
/* Define if .gnu.warning accepts long strings. */
|
||||
#undef HAS_GNU_WARNING_LONG
|
||||
#cmakedefine HAS_GNU_WARNING_LONG "@@"
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#cmakedefine HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <endian.h> header file. */
|
||||
#cmakedefine HAVE_ENDIAN_H
|
||||
|
||||
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||
#cmakedefine HAVE_FCNTL_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#cmakedefine HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the <limits.h> header file. */
|
||||
#cmakedefine HAVE_LIMITS_H
|
||||
|
||||
/* Define to 1 if you have the <locale.h> header file. */
|
||||
#cmakedefine HAVE_LOCALE_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#cmakedefine HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the <stdarg.h> header file. */
|
||||
#cmakedefine HAVE_STDARG_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#cmakedefine HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#cmakedefine HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#cmakedefine HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#cmakedefine HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <syslog.h> header file. */
|
||||
#cmakedefine HAVE_SYSLOG_H @HAVE_SYSLOG_H@
|
||||
|
||||
/* Define to 1 if you have the <sys/cdefs.h> header file. */
|
||||
#cmakedefine HAVE_SYS_CDEFS_H
|
||||
|
||||
/* Define to 1 if you have the <sys/param.h> header file. */
|
||||
#cmakedefine HAVE_SYS_PARAM_H @HAVE_SYS_PARAM_H@
|
||||
|
||||
/* Define to 1 if you have the <sys/resource.h> header file. */
|
||||
#cmakedefine HAVE_SYS_RESOURCE_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#cmakedefine HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#cmakedefine HAVE_SYS_TYPES_H @HAVE_SYS_TYPES_H@
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#cmakedefine HAVE_UNISTD_H @HAVE_UNISTD_H@
|
||||
|
||||
/* Define to 1 if you have the <xlocale.h> header file. */
|
||||
#cmakedefine HAVE_XLOCALE_H
|
||||
|
||||
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
|
||||
#cmakedefine HAVE_DOPRNT
|
||||
|
||||
/* Has atomic builtins */
|
||||
#undef HAVE_ATOMIC_BUILTINS
|
||||
#cmakedefine HAVE_ATOMIC_BUILTINS
|
||||
|
||||
/* Define to 1 if you have the declaration of `INFINITY', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_INFINITY
|
||||
#cmakedefine HAVE_DECL_INFINITY
|
||||
|
||||
/* Define to 1 if you have the declaration of `isinf', and to 0 if you don't.
|
||||
*/
|
||||
#undef HAVE_DECL_ISINF
|
||||
#cmakedefine HAVE_DECL_ISINF
|
||||
|
||||
/* Define to 1 if you have the declaration of `isnan', and to 0 if you don't.
|
||||
*/
|
||||
#undef HAVE_DECL_ISNAN
|
||||
#cmakedefine HAVE_DECL_ISNAN
|
||||
|
||||
/* Define to 1 if you have the declaration of `nan', and to 0 if you don't. */
|
||||
#undef HAVE_DECL_NAN
|
||||
#cmakedefine HAVE_DECL_NAN
|
||||
|
||||
/* Define to 1 if you have the declaration of `_finite', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL__FINITE
|
||||
#cmakedefine HAVE_DECL__FINITE
|
||||
|
||||
/* Define to 1 if you have the declaration of `_isnan', and to 0 if you don't.
|
||||
*/
|
||||
#undef HAVE_DECL__ISNAN
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
|
||||
#undef HAVE_DOPRNT
|
||||
|
||||
/* Define to 1 if you have the <endian.h> header file. */
|
||||
#undef HAVE_ENDIAN_H
|
||||
|
||||
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||
#undef HAVE_FCNTL_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the <limits.h> header file. */
|
||||
#undef HAVE_LIMITS_H
|
||||
|
||||
/* Define to 1 if you have the <locale.h> header file. */
|
||||
#undef HAVE_LOCALE_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
#cmakedefine HAVE_DECL__ISNAN
|
||||
|
||||
/* Define to 1 if you have the `open' function. */
|
||||
#undef HAVE_OPEN
|
||||
#cmakedefine HAVE_OPEN
|
||||
|
||||
/* Define to 1 if you have the `realloc' function. */
|
||||
#undef HAVE_REALLOC
|
||||
#cmakedefine HAVE_REALLOC
|
||||
|
||||
/* Define to 1 if you have the `setlocale' function. */
|
||||
#undef HAVE_SETLOCALE
|
||||
#cmakedefine HAVE_SETLOCALE
|
||||
|
||||
/* Define to 1 if you have the `snprintf' function. */
|
||||
#undef HAVE_SNPRINTF
|
||||
#cmakedefine HAVE_SNPRINTF
|
||||
|
||||
/* Define to 1 if you have the <stdarg.h> header file. */
|
||||
#undef HAVE_STDARG_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the `strcasecmp' function. */
|
||||
#undef HAVE_STRCASECMP
|
||||
#cmakedefine HAVE_STRCASECMP @HAVE_STRCASECMP@
|
||||
|
||||
/* Define to 1 if you have the `strdup' function. */
|
||||
#undef HAVE_STRDUP
|
||||
#cmakedefine HAVE_STRDUP
|
||||
|
||||
/* Define to 1 if you have the `strerror' function. */
|
||||
#undef HAVE_STRERROR
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
#cmakedefine HAVE_STRERROR
|
||||
|
||||
/* Define to 1 if you have the `strncasecmp' function. */
|
||||
#undef HAVE_STRNCASECMP
|
||||
|
||||
/* Define to 1 if you have the <syslog.h> header file. */
|
||||
#undef HAVE_SYSLOG_H
|
||||
|
||||
/* Define to 1 if you have the <sys/cdefs.h> header file. */
|
||||
#undef HAVE_SYS_CDEFS_H
|
||||
|
||||
/* Define to 1 if you have the <sys/param.h> header file. */
|
||||
#undef HAVE_SYS_PARAM_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
#cmakedefine HAVE_STRNCASECMP @HAVE_STRNCASECMP@
|
||||
|
||||
/* Define to 1 if you have the `uselocale' function. */
|
||||
#undef HAVE_USELOCALE
|
||||
#cmakedefine HAVE_USELOCALE
|
||||
|
||||
/* Define to 1 if you have the `vasprintf' function. */
|
||||
#undef HAVE_VASPRINTF
|
||||
#cmakedefine HAVE_VASPRINTF
|
||||
|
||||
/* Define to 1 if you have the `vprintf' function. */
|
||||
#undef HAVE_VPRINTF
|
||||
#cmakedefine HAVE_VPRINTF
|
||||
|
||||
/* Define to 1 if you have the `vsnprintf' function. */
|
||||
#undef HAVE_VSNPRINTF
|
||||
#cmakedefine HAVE_VSNPRINTF
|
||||
|
||||
/* Define to 1 if you have the `vsyslog' function. */
|
||||
#undef HAVE_VSYSLOG
|
||||
#cmakedefine HAVE_VSYSLOG @HAVE_VSYSLOG@
|
||||
|
||||
/* Define to 1 if you have the <xlocale.h> header file. */
|
||||
#undef HAVE_XLOCALE_H
|
||||
/* Define if you have the `getrusage' function. */
|
||||
#cmakedefine HAVE_GETRUSAGE
|
||||
|
||||
#cmakedefine HAVE_STRTOLL
|
||||
#if !defined(HAVE_STRTOLL)
|
||||
#define strtoll @json_c_strtoll@
|
||||
/* #cmakedefine json_c_strtoll @json_c_strtoll@*/
|
||||
#endif
|
||||
|
||||
#cmakedefine HAVE_STRTOULL
|
||||
#if !defined(HAVE_STRTOULL)
|
||||
#define strtoull @json_c_strtoull@
|
||||
/* #cmakedefine json_c_strtoull @json_c_strtoull@ */
|
||||
#endif
|
||||
|
||||
/* Have __thread */
|
||||
#undef HAVE___THREAD
|
||||
#cmakedefine HAVE___THREAD
|
||||
|
||||
/* Public define for json_inttypes.h */
|
||||
#undef JSON_C_HAVE_INTTYPES_H
|
||||
|
||||
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||
*/
|
||||
#undef LT_OBJDIR
|
||||
#cmakedefine JSON_C_HAVE_INTTYPES_H @JSON_C_HAVE_INTTYPES_H@
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
#define PACKAGE "@PROJECT_NAME@"
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
#define PACKAGE_BUGREPORT "@JSON_C_BUGREPORT@"
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
#define PACKAGE_NAME "@PROJECT_NAME@"
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
#define PACKAGE_STRING "@PROJECT_NAME@ @CPACK_PACKAGE_VERSION_MAJOR@.@CPACK_PACKAGE_VERSION_MINOR@.@CPACK_PACKAGE_VERSION_PATCH@"
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
#define PACKAGE_TARNAME "@PROJECT_NAME@"
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#undef PACKAGE_URL
|
||||
#define PACKAGE_URL "https://github.com/json-c/json-c"
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
#define PACKAGE_VERSION "@CPACK_PACKAGE_VERSION_MAJOR@.@CPACK_PACKAGE_VERSION_MINOR@.@CPACK_PACKAGE_VERSION_PATCH@"
|
||||
|
||||
/* The number of bytes in type int */
|
||||
#undef SIZEOF_INT
|
||||
#cmakedefine SIZEOF_INT @SIZEOF_INT@
|
||||
|
||||
/* The number of bytes in type int64_t */
|
||||
#undef SIZEOF_INT64_T
|
||||
#cmakedefine SIZEOF_INT64_T @SIZEOF_INT64_T@
|
||||
|
||||
/* The number of bytes in type long */
|
||||
#undef SIZEOF_LONG
|
||||
#cmakedefine SIZEOF_LONG @SIZEOF_LONG@
|
||||
|
||||
/* The number of bytes in type long long */
|
||||
#undef SIZEOF_LONG_LONG
|
||||
#cmakedefine SIZEOF_LONG_LONG @SIZEOF_LONG_LONG@
|
||||
|
||||
/* The number of bytes in type size_t */
|
||||
#undef SIZEOF_SIZE_T
|
||||
#cmakedefine SIZEOF_SIZE_T @SIZEOF_SIZE_T@
|
||||
|
||||
/* The number of bytes in type ssize_t */
|
||||
#cmakedefine SIZEOF_SSIZE_T @SIZEOF_SSIZE_T@
|
||||
|
||||
/* Specifier for __thread */
|
||||
#undef SPEC___THREAD
|
||||
#cmakedefine SPEC___THREAD @SPEC___THREAD@
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
#cmakedefine STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
#define VERSION "@CPACK_PACKAGE_VERSION_MAJOR@.@CPACK_PACKAGE_VERSION_MINOR@.@CPACK_PACKAGE_VERSION_PATCH@"
|
||||
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#undef const
|
||||
#cmakedefine const
|
||||
|
||||
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||
#undef size_t
|
||||
#cmakedefine size_t
|
||||
2
cmake/json_config.h.in
Normal file
@@ -0,0 +1,2 @@
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#cmakedefine JSON_C_HAVE_INTTYPES_H @JSON_C_HAVE_INTTYPES_H@
|
||||
347
compile
@@ -1,347 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Wrapper for compilers which do not understand '-c -o'.
|
||||
|
||||
scriptversion=2012-10-14.11; # UTC
|
||||
|
||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
nl='
|
||||
'
|
||||
|
||||
# We need space, tab and new line, in precisely that order. Quoting is
|
||||
# there to prevent tools from complaining about whitespace usage.
|
||||
IFS=" "" $nl"
|
||||
|
||||
file_conv=
|
||||
|
||||
# func_file_conv build_file lazy
|
||||
# Convert a $build file to $host form and store it in $file
|
||||
# Currently only supports Windows hosts. If the determined conversion
|
||||
# type is listed in (the comma separated) LAZY, no conversion will
|
||||
# take place.
|
||||
func_file_conv ()
|
||||
{
|
||||
file=$1
|
||||
case $file in
|
||||
/ | /[!/]*) # absolute file, and not a UNC file
|
||||
if test -z "$file_conv"; then
|
||||
# lazily determine how to convert abs files
|
||||
case `uname -s` in
|
||||
MINGW*)
|
||||
file_conv=mingw
|
||||
;;
|
||||
CYGWIN*)
|
||||
file_conv=cygwin
|
||||
;;
|
||||
*)
|
||||
file_conv=wine
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $file_conv/,$2, in
|
||||
*,$file_conv,*)
|
||||
;;
|
||||
mingw/*)
|
||||
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||
;;
|
||||
cygwin/*)
|
||||
file=`cygpath -m "$file" || echo "$file"`
|
||||
;;
|
||||
wine/*)
|
||||
file=`winepath -w "$file" || echo "$file"`
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# func_cl_dashL linkdir
|
||||
# Make cl look for libraries in LINKDIR
|
||||
func_cl_dashL ()
|
||||
{
|
||||
func_file_conv "$1"
|
||||
if test -z "$lib_path"; then
|
||||
lib_path=$file
|
||||
else
|
||||
lib_path="$lib_path;$file"
|
||||
fi
|
||||
linker_opts="$linker_opts -LIBPATH:$file"
|
||||
}
|
||||
|
||||
# func_cl_dashl library
|
||||
# Do a library search-path lookup for cl
|
||||
func_cl_dashl ()
|
||||
{
|
||||
lib=$1
|
||||
found=no
|
||||
save_IFS=$IFS
|
||||
IFS=';'
|
||||
for dir in $lib_path $LIB
|
||||
do
|
||||
IFS=$save_IFS
|
||||
if $shared && test -f "$dir/$lib.dll.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.dll.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/$lib.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/lib$lib.a"; then
|
||||
found=yes
|
||||
lib=$dir/lib$lib.a
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS=$save_IFS
|
||||
|
||||
if test "$found" != yes; then
|
||||
lib=$lib.lib
|
||||
fi
|
||||
}
|
||||
|
||||
# func_cl_wrapper cl arg...
|
||||
# Adjust compile command to suit cl
|
||||
func_cl_wrapper ()
|
||||
{
|
||||
# Assume a capable shell
|
||||
lib_path=
|
||||
shared=:
|
||||
linker_opts=
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.[oO][bB][jJ])
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fo"$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fe"$file"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-I)
|
||||
eat=1
|
||||
func_file_conv "$2" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-I*)
|
||||
func_file_conv "${1#-I}" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-l)
|
||||
eat=1
|
||||
func_cl_dashl "$2"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-l*)
|
||||
func_cl_dashl "${1#-l}"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-L)
|
||||
eat=1
|
||||
func_cl_dashL "$2"
|
||||
;;
|
||||
-L*)
|
||||
func_cl_dashL "${1#-L}"
|
||||
;;
|
||||
-static)
|
||||
shared=false
|
||||
;;
|
||||
-Wl,*)
|
||||
arg=${1#-Wl,}
|
||||
save_ifs="$IFS"; IFS=','
|
||||
for flag in $arg; do
|
||||
IFS="$save_ifs"
|
||||
linker_opts="$linker_opts $flag"
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
;;
|
||||
-Xlinker)
|
||||
eat=1
|
||||
linker_opts="$linker_opts $2"
|
||||
;;
|
||||
-*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
|
||||
func_file_conv "$1"
|
||||
set x "$@" -Tp"$file"
|
||||
shift
|
||||
;;
|
||||
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
|
||||
func_file_conv "$1" mingw
|
||||
set x "$@" "$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
if test -n "$linker_opts"; then
|
||||
linker_opts="-link$linker_opts"
|
||||
fi
|
||||
exec "$@" $linker_opts
|
||||
exit 1
|
||||
}
|
||||
|
||||
eat=
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Wrapper for compilers which do not understand '-c -o'.
|
||||
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
|
||||
arguments, and rename the output as expected.
|
||||
|
||||
If you are trying to build a whole package this is not the
|
||||
right script to run: please start by reading the file 'INSTALL'.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "compile $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
||||
func_cl_wrapper "$@" # Doesn't return...
|
||||
;;
|
||||
esac
|
||||
|
||||
ofile=
|
||||
cfile=
|
||||
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
# So we strip '-o arg' only if arg is an object.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.obj)
|
||||
ofile=$2
|
||||
;;
|
||||
*)
|
||||
set x "$@" -o "$2"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*.c)
|
||||
cfile=$1
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if test -z "$ofile" || test -z "$cfile"; then
|
||||
# If no '-o' option was seen then we might have been invoked from a
|
||||
# pattern rule where we don't need one. That is ok -- this is a
|
||||
# normal compilation that the losing compiler can handle. If no
|
||||
# '.c' file was seen then we are probably linking. That is also
|
||||
# ok.
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
# Name of file we expect compiler to create.
|
||||
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
|
||||
|
||||
# Create the lock directory.
|
||||
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
|
||||
# that we are using for the .o file. Also, base the name on the expected
|
||||
# object file name, since that is what matters with a parallel build.
|
||||
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
|
||||
while true; do
|
||||
if mkdir "$lockdir" >/dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
# FIXME: race condition here if user kills between mkdir and trap.
|
||||
trap "rmdir '$lockdir'; exit 1" 1 2 15
|
||||
|
||||
# Run the compile.
|
||||
"$@"
|
||||
ret=$?
|
||||
|
||||
if test -f "$cofile"; then
|
||||
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
|
||||
elif test -f "${cofile}bj"; then
|
||||
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
|
||||
fi
|
||||
|
||||
rmdir "$lockdir"
|
||||
exit $ret
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
1420
config.guess
vendored
@@ -115,6 +115,8 @@
|
||||
|
||||
#cmakedefine HAVE_STRTOLL
|
||||
#cmakedefine strtoll @cmake_strtoll@
|
||||
#cmakedefine HAVE_STRTOULL
|
||||
#cmakedefine strtoull @cmake_strtoull@
|
||||
|
||||
/* Define to 1 if you have the <syslog.h> header file. */
|
||||
#undef HAVE_SYSLOG_H
|
||||
@@ -175,7 +177,7 @@
|
||||
#define PACKAGE_NAME "JSON C Library"
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#define PACKAGE_STRING "JSON C Library 0.13.1"
|
||||
#define PACKAGE_STRING "JSON C Library 0.14.99"
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#define PACKAGE_TARNAME "json-c"
|
||||
@@ -184,13 +186,13 @@
|
||||
#define PACKAGE_URL "https://github.com/json-c/json-c"
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#define PACKAGE_VERSION "0.13.1"
|
||||
#define PACKAGE_VERSION "0.14.99"
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#define STDC_HEADERS 1
|
||||
|
||||
/* Version number of package */
|
||||
#define VERSION "0.13.1"
|
||||
#define VERSION "0.14.99"
|
||||
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
/* #undef const */
|
||||
|
||||
1799
config.sub
vendored
207
configure.ac
@@ -1,207 +0,0 @@
|
||||
AC_PREREQ(2.64)
|
||||
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
AC_INIT([json-c], 0.13.1, [json-c@googlegroups.com])
|
||||
|
||||
AM_INIT_AUTOMAKE
|
||||
|
||||
AC_CONFIG_MACRO_DIRS([autoconf-archive/m4])
|
||||
|
||||
AC_PROG_MAKE_SET
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
AC_ARG_ENABLE(threading,
|
||||
AS_HELP_STRING([--enable-threading],
|
||||
[Enable code to support partly multi-threaded use]),
|
||||
[if test x$enableval = xyes; then
|
||||
enable_threading=yes
|
||||
AC_DEFINE(ENABLE_THREADING, 1, [Enable partial threading support])
|
||||
fi])
|
||||
|
||||
if test "x$enable_threading" = "xyes"; then
|
||||
AC_MSG_RESULT([Partial multi-threaded support enabled.])
|
||||
else
|
||||
AC_MSG_RESULT([Multi-threaded support disabled. Use --enable-threading to enable.])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(rdrand,
|
||||
AS_HELP_STRING([--enable-rdrand],
|
||||
[Enable RDRAND Hardware RNG Hash Seed generation on supported x86/x64 platforms.]),
|
||||
[if test x$enableval = xyes; then
|
||||
enable_rdrand=yes
|
||||
AC_DEFINE(ENABLE_RDRAND, 1, [Enable RDRAND Hardware RNG Hash Seed])
|
||||
fi])
|
||||
|
||||
if test "x$enable_rdrand" = "xyes"; then
|
||||
AC_MSG_RESULT([RDRAND Hardware RNG Hash Seed enabled on supported x86/x64 platforms])
|
||||
else
|
||||
AC_MSG_RESULT([RDRAND Hardware RNG Hash Seed disabled. Use --enable-rdrand to enable])
|
||||
fi
|
||||
|
||||
# enable silent build by default
|
||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||
|
||||
# Checks for programs.
|
||||
|
||||
# Checks for libraries.
|
||||
|
||||
# Checks for header files.
|
||||
AM_PROG_CC_C_O
|
||||
AC_PROG_CC_C99
|
||||
AC_CONFIG_HEADER(config.h)
|
||||
AC_CONFIG_HEADER(json_config.h)
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS(fcntl.h limits.h strings.h syslog.h unistd.h [sys/cdefs.h] [sys/param.h] stdarg.h locale.h xlocale.h endian.h)
|
||||
AC_CHECK_HEADER(inttypes.h,[AC_DEFINE([JSON_C_HAVE_INTTYPES_H],[1],[Public define for json_inttypes.h])])
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_TYPE_SIZE_T
|
||||
|
||||
AC_CACHE_CHECK([for __thread support], ac_cv___thread, [dnl
|
||||
AC_LINK_IFELSE([dnl
|
||||
AC_LANG_PROGRAM([[#undef __thread
|
||||
static __thread int a; int foo (int b) { return a + b; }]],
|
||||
[[exit (foo (0));]])],
|
||||
ac_cv___thread=yes, ac_cv___thread=no)
|
||||
])
|
||||
AS_IF([test "x$ac_cv___thread" != xno],
|
||||
[AC_DEFINE(HAVE___THREAD, 1, [Have __thread])
|
||||
AC_DEFINE(SPEC___THREAD, [__thread], [Specifier for __thread])]
|
||||
)
|
||||
|
||||
# Checks for library functions.
|
||||
AC_FUNC_VPRINTF
|
||||
AC_FUNC_MEMCMP
|
||||
AC_CHECK_FUNCS([realloc])
|
||||
AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf vasprintf open vsyslog strncasecmp setlocale)
|
||||
AC_CHECK_DECLS([INFINITY], [], [], [[#include <math.h>]])
|
||||
AC_CHECK_DECLS([nan], [], [], [[#include <math.h>]])
|
||||
AC_CHECK_DECLS([isnan], [], [], [[#include <math.h>]])
|
||||
AC_CHECK_DECLS([isinf], [], [], [[#include <math.h>]])
|
||||
AC_CHECK_DECLS([_isnan], [], [], [[#include <float.h>]])
|
||||
AC_CHECK_DECLS([_finite], [], [], [[#include <float.h>]])
|
||||
AC_MSG_CHECKING(for GCC atomic builtins)
|
||||
AC_LINK_IFELSE(
|
||||
[
|
||||
AC_LANG_SOURCE([[
|
||||
int main() {
|
||||
volatile unsigned int val = 1;
|
||||
/* Note: __sync_val_compare_and_swap isn't checked here
|
||||
* because it's protected by __GCC_HAVE_SYNC_COMPARE_AND_SWAP_<n>,
|
||||
* which is automatically defined by gcc.
|
||||
*/
|
||||
__sync_add_and_fetch(&val, 1);
|
||||
__sync_sub_and_fetch(&val, 1);
|
||||
return 0;
|
||||
}
|
||||
]])
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_DEFINE([HAVE_ATOMIC_BUILTINS],[1],[Has atomic builtins])
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_WARN([json-c will be built without atomic refcounts because atomic builtins are missing])
|
||||
])
|
||||
|
||||
case "${host_os}" in
|
||||
linux*)
|
||||
AC_CHECK_FUNCS([uselocale])
|
||||
;;
|
||||
*) # Nothing
|
||||
;;
|
||||
esac
|
||||
|
||||
if test "$ac_cv_have_decl_isnan" = "yes" ; then
|
||||
AC_TRY_LINK([#include <math.h>], [float f = 0.0; return isnan(f)], [], [LIBS="$LIBS -lm"])
|
||||
fi
|
||||
|
||||
#check if .section.gnu.warning accepts long strings (for __warn_references)
|
||||
AC_LANG_PUSH([C])
|
||||
|
||||
AC_MSG_CHECKING([if .gnu.warning accepts long strings])
|
||||
AC_LINK_IFELSE([AC_LANG_SOURCE([[
|
||||
extern void json_object_get();
|
||||
__asm__(".section .gnu.json_object_get,\n\t.ascii \"Please link against libjson-c instead of libjson\"\n\t.text");
|
||||
|
||||
int main(int c,char* v) {return 0;}
|
||||
]])], [
|
||||
AC_DEFINE(HAS_GNU_WARNING_LONG, 1, [Define if .gnu.warning accepts long strings.])
|
||||
AC_MSG_RESULT(yes)
|
||||
], [
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
|
||||
AC_LANG_POP([C])
|
||||
|
||||
LT_INIT
|
||||
|
||||
# Check for the -Bsymbolic-functions linker flag
|
||||
AC_ARG_ENABLE([Bsymbolic],
|
||||
[AS_HELP_STRING([--disable-Bsymbolic], [Avoid linking with -Bsymbolic-function])],
|
||||
[],
|
||||
[enable_Bsymbolic=check])
|
||||
|
||||
AS_IF([test "x$enable_Bsymbolic" = "xcheck"],
|
||||
[
|
||||
saved_LDFLAGS="${LDFLAGS}"
|
||||
AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
|
||||
LDFLAGS=-Wl,-Bsymbolic-functions
|
||||
AC_TRY_LINK([], [int main (void) { return 0; }],
|
||||
[
|
||||
AC_MSG_RESULT([yes])
|
||||
enable_Bsymbolic=yes
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([no])
|
||||
enable_Bsymbolic=no
|
||||
])
|
||||
LDFLAGS="${saved_LDFLAGS}"
|
||||
])
|
||||
|
||||
AS_IF([test "x$enable_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbolic-functions])
|
||||
AC_SUBST(JSON_BSYMBOLIC_LDFLAGS)
|
||||
|
||||
AX_APPEND_COMPILE_FLAGS([-Wall -Werror -Wcast-qual -Wno-error=deprecated-declarations])
|
||||
AX_APPEND_COMPILE_FLAGS([-Wextra -Wwrite-string -Wno-unused-parameter])
|
||||
AX_APPEND_COMPILE_FLAGS([-D_GNU_SOURCE])
|
||||
|
||||
AC_LANG_PUSH([C])
|
||||
AC_MSG_CHECKING([for compatibility with _REENTRANT and toolchain headers])
|
||||
AC_LINK_IFELSE(
|
||||
[
|
||||
AC_LANG_SOURCE([[
|
||||
/* uClibc toolchains without threading barf when _REENTRANT is defined */
|
||||
#define _REENTRANT 1
|
||||
#include <sys/types.h>
|
||||
int main ()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
]])], [
|
||||
AC_MSG_RESULT(yes)
|
||||
AX_APPEND_COMPILE_FLAGS([-D_REENTRANT])
|
||||
], [
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
AC_LANG_POP([C])
|
||||
|
||||
|
||||
AX_COMPILE_CHECK_SIZEOF(int)
|
||||
AX_COMPILE_CHECK_SIZEOF(long)
|
||||
AX_COMPILE_CHECK_SIZEOF(long long)
|
||||
AX_COMPILE_CHECK_SIZEOF(size_t, [#include <stdint.h>])
|
||||
AX_COMPILE_CHECK_SIZEOF(int64_t, [#include <stdint.h>])
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
json-c.pc
|
||||
tests/Makefile
|
||||
json-c-uninstalled.pc
|
||||
])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
63
debug.c
@@ -11,17 +11,17 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#if HAVE_SYSLOG_H
|
||||
# include <syslog.h>
|
||||
#include <syslog.h>
|
||||
#endif /* HAVE_SYSLOG_H */
|
||||
|
||||
#if HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#include <unistd.h>
|
||||
#endif /* HAVE_UNISTD_H */
|
||||
|
||||
#if HAVE_SYS_PARAM_H
|
||||
@@ -33,51 +33,64 @@
|
||||
static int _syslog = 0;
|
||||
static int _debug = 0;
|
||||
|
||||
void mc_set_debug(int debug) { _debug = debug; }
|
||||
int mc_get_debug(void) { return _debug; }
|
||||
void mc_set_debug(int debug)
|
||||
{
|
||||
_debug = debug;
|
||||
}
|
||||
int mc_get_debug(void)
|
||||
{
|
||||
return _debug;
|
||||
}
|
||||
|
||||
extern void mc_set_syslog(int syslog)
|
||||
{
|
||||
_syslog = syslog;
|
||||
_syslog = syslog;
|
||||
}
|
||||
|
||||
void mc_debug(const char *msg, ...)
|
||||
{
|
||||
va_list ap;
|
||||
if(_debug) {
|
||||
va_start(ap, msg);
|
||||
va_list ap;
|
||||
if (_debug)
|
||||
{
|
||||
va_start(ap, msg);
|
||||
#if HAVE_VSYSLOG
|
||||
if(_syslog) {
|
||||
vsyslog(LOG_DEBUG, msg, ap);
|
||||
} else
|
||||
if (_syslog)
|
||||
{
|
||||
vsyslog(LOG_DEBUG, msg, ap);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
vprintf(msg, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
vprintf(msg, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
}
|
||||
|
||||
void mc_error(const char *msg, ...)
|
||||
{
|
||||
va_list ap;
|
||||
va_start(ap, msg);
|
||||
va_list ap;
|
||||
va_start(ap, msg);
|
||||
#if HAVE_VSYSLOG
|
||||
if(_syslog) {
|
||||
if (_syslog)
|
||||
{
|
||||
vsyslog(LOG_ERR, msg, ap);
|
||||
} else
|
||||
}
|
||||
else
|
||||
#endif
|
||||
vfprintf(stderr, msg, ap);
|
||||
va_end(ap);
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
void mc_info(const char *msg, ...)
|
||||
{
|
||||
va_list ap;
|
||||
va_start(ap, msg);
|
||||
va_list ap;
|
||||
va_start(ap, msg);
|
||||
#if HAVE_VSYSLOG
|
||||
if(_syslog) {
|
||||
if (_syslog)
|
||||
{
|
||||
vsyslog(LOG_INFO, msg, ap);
|
||||
} else
|
||||
}
|
||||
else
|
||||
#endif
|
||||
vfprintf(stderr, msg, ap);
|
||||
va_end(ap);
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
59
debug.h
@@ -23,14 +23,22 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern void mc_set_debug(int debug);
|
||||
extern int mc_get_debug(void);
|
||||
#ifndef JSON_EXPORT
|
||||
#if defined(_MSC_VER)
|
||||
#define JSON_EXPORT __declspec(dllexport)
|
||||
#else
|
||||
#define JSON_EXPORT extern
|
||||
#endif
|
||||
#endif
|
||||
|
||||
extern void mc_set_syslog(int syslog);
|
||||
JSON_EXPORT void mc_set_debug(int debug);
|
||||
JSON_EXPORT int mc_get_debug(void);
|
||||
|
||||
extern void mc_debug(const char *msg, ...);
|
||||
extern void mc_error(const char *msg, ...);
|
||||
extern void mc_info(const char *msg, ...);
|
||||
JSON_EXPORT void mc_set_syslog(int syslog);
|
||||
|
||||
JSON_EXPORT void mc_debug(const char *msg, ...);
|
||||
JSON_EXPORT void mc_error(const char *msg, ...);
|
||||
JSON_EXPORT void mc_info(const char *msg, ...);
|
||||
|
||||
#ifndef __STRING
|
||||
#define __STRING(x) #x
|
||||
@@ -38,17 +46,24 @@ extern void mc_info(const char *msg, ...);
|
||||
|
||||
#ifndef PARSER_BROKEN_FIXED
|
||||
|
||||
#define JASSERT(cond) do {} while(0)
|
||||
#define JASSERT(cond) \
|
||||
do \
|
||||
{ \
|
||||
} while (0)
|
||||
|
||||
#else
|
||||
|
||||
#define JASSERT(cond) do { \
|
||||
if (!(cond)) { \
|
||||
mc_error("cjson assert failure %s:%d : cond \"" __STRING(cond) "failed\n", __FILE__, __LINE__); \
|
||||
*(int *)0 = 1;\
|
||||
abort(); \
|
||||
}\
|
||||
} while(0)
|
||||
#define JASSERT(cond) \
|
||||
do \
|
||||
{ \
|
||||
if (!(cond)) \
|
||||
{ \
|
||||
mc_error("cjson assert failure %s:%d : cond \"" __STRING(cond) "failed\n", \
|
||||
__FILE__, __LINE__); \
|
||||
*(int *)0 = 1; \
|
||||
abort(); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#endif
|
||||
|
||||
@@ -61,11 +76,19 @@ extern void mc_info(const char *msg, ...);
|
||||
#define MC_DEBUG(x, ...) mc_debug(x, ##__VA_ARGS__)
|
||||
#define MC_INFO(x, ...) mc_info(x, ##__VA_ARGS__)
|
||||
#else
|
||||
#define MC_SET_DEBUG(x) if (0) mc_set_debug(x)
|
||||
#define MC_SET_DEBUG(x) \
|
||||
if (0) \
|
||||
mc_set_debug(x)
|
||||
#define MC_GET_DEBUG() (0)
|
||||
#define MC_SET_SYSLOG(x) if (0) mc_set_syslog(x)
|
||||
#define MC_DEBUG(x, ...) if (0) mc_debug(x, ##__VA_ARGS__)
|
||||
#define MC_INFO(x, ...) if (0) mc_info(x, ##__VA_ARGS__)
|
||||
#define MC_SET_SYSLOG(x) \
|
||||
if (0) \
|
||||
mc_set_syslog(x)
|
||||
#define MC_DEBUG(x, ...) \
|
||||
if (0) \
|
||||
mc_debug(x, ##__VA_ARGS__)
|
||||
#define MC_INFO(x, ...) \
|
||||
if (0) \
|
||||
mc_info(x, ##__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
791
depcomp
@@ -1,791 +0,0 @@
|
||||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2013-05-30.07; # UTC
|
||||
|
||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||
as side-effects.
|
||||
|
||||
Environment variables:
|
||||
depmode Dependency tracking mode.
|
||||
source Source file read by 'PROGRAMS ARGS'.
|
||||
object Object file output by 'PROGRAMS ARGS'.
|
||||
DEPDIR directory where to store dependencies.
|
||||
depfile Dependency file to output.
|
||||
tmpdepfile Temporary file to use when outputting dependencies.
|
||||
libtool Whether libtool is used (yes/no).
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "depcomp $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
# Get the directory component of the given path, and save it in the
|
||||
# global variables '$dir'. Note that this directory component will
|
||||
# be either empty or ending with a '/' character. This is deliberate.
|
||||
set_dir_from ()
|
||||
{
|
||||
case $1 in
|
||||
*/*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
|
||||
*) dir=;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Get the suffix-stripped basename of the given path, and save it the
|
||||
# global variable '$base'.
|
||||
set_base_from ()
|
||||
{
|
||||
base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
|
||||
}
|
||||
|
||||
# If no dependency file was actually created by the compiler invocation,
|
||||
# we still have to create a dummy depfile, to avoid errors with the
|
||||
# Makefile "include basename.Plo" scheme.
|
||||
make_dummy_depfile ()
|
||||
{
|
||||
echo "#dummy" > "$depfile"
|
||||
}
|
||||
|
||||
# Factor out some common post-processing of the generated depfile.
|
||||
# Requires the auxiliary global variable '$tmpdepfile' to be set.
|
||||
aix_post_process_depfile ()
|
||||
{
|
||||
# If the compiler actually managed to produce a dependency file,
|
||||
# post-process it.
|
||||
if test -f "$tmpdepfile"; then
|
||||
# Each line is of the form 'foo.o: dependency.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# $object: dependency.h
|
||||
# and one to simply output
|
||||
# dependency.h:
|
||||
# which is needed to avoid the deleted-header problem.
|
||||
{ sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
|
||||
sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
|
||||
} > "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
}
|
||||
|
||||
# A tabulation character.
|
||||
tab=' '
|
||||
# A newline character.
|
||||
nl='
|
||||
'
|
||||
# Character ranges might be problematic outside the C locale.
|
||||
# These definitions help.
|
||||
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
||||
lower=abcdefghijklmnopqrstuvwxyz
|
||||
digits=0123456789
|
||||
alpha=${upper}${lower}
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||
depfile=${depfile-`echo "$object" |
|
||||
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
|
||||
# Avoid interferences from the environment.
|
||||
gccflag= dashmflag=
|
||||
|
||||
# Some modes work just like other modes, but use different flags. We
|
||||
# parameterize here, but still list the modes in the big case below,
|
||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||
# here, because this file can only contain one case statement.
|
||||
if test "$depmode" = hp; then
|
||||
# HP compiler uses -M and no extra arg.
|
||||
gccflag=-M
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
if test "$depmode" = dashXmstdout; then
|
||||
# This is just like dashmstdout with a different argument.
|
||||
dashmflag=-xM
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
cygpath_u="cygpath -u -f -"
|
||||
if test "$depmode" = msvcmsys; then
|
||||
# This is just like msvisualcpp but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u='sed s,\\\\,/,g'
|
||||
depmode=msvisualcpp
|
||||
fi
|
||||
|
||||
if test "$depmode" = msvc7msys; then
|
||||
# This is just like msvc7 but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u='sed s,\\\\,/,g'
|
||||
depmode=msvc7
|
||||
fi
|
||||
|
||||
if test "$depmode" = xlc; then
|
||||
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
|
||||
gccflag=-qmakedep=gcc,-MF
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||
## the command line argument order; so add the flags where they
|
||||
## appear in depend2.am. Note that the slowdown incurred here
|
||||
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||
*) set fnord "$@" "$arg" ;;
|
||||
esac
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
done
|
||||
"$@"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
|
||||
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
|
||||
## (see the conditional assignment to $gccflag above).
|
||||
## There are various ways to get dependency output from gcc. Here's
|
||||
## why we pick this rather obscure method:
|
||||
## - Don't want to use -MD because we'd like the dependencies to end
|
||||
## up in a subdir. Having to rename by hand is ugly.
|
||||
## (We might end up doing this anyway to support other compilers.)
|
||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||
## -MM, not -M (despite what the docs say). Also, it might not be
|
||||
## supported by the other compilers which use the 'gcc' depmode.
|
||||
## - Using -M directly means running the compiler twice (even worse
|
||||
## than renaming).
|
||||
if test -z "$gccflag"; then
|
||||
gccflag=-MD,
|
||||
fi
|
||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
# The second -e expression handles DOS-style file names with drive
|
||||
# letters.
|
||||
sed -e 's/^[^:]*: / /' \
|
||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||
## This next piece of magic avoids the "deleted header file" problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||
## this for us directly.
|
||||
## Some versions of gcc put a space before the ':'. On the theory
|
||||
## that the space means something, we add a space to the output as
|
||||
## well. hp depmode also adds that space, but also prefixes the VPATH
|
||||
## to the object. Take care to not repeat it in the output.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
sgi)
|
||||
if test "$libtool" = yes; then
|
||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||
else
|
||||
"$@" -MDupdate "$tmpdepfile"
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
echo "$object : \\" > "$depfile"
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like '#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
|
||||
| tr "$nl" ' ' >> "$depfile"
|
||||
echo >> "$depfile"
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> "$depfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
xlc)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts '$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$base.u
|
||||
tmpdepfile3=$dir.libs/$base.u
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$dir$base.u
|
||||
tmpdepfile3=$dir$base.u
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
aix_post_process_depfile
|
||||
;;
|
||||
|
||||
tcc)
|
||||
# tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
|
||||
# FIXME: That version still under development at the moment of writing.
|
||||
# Make that this statement remains true also for stable, released
|
||||
# versions.
|
||||
# It will wrap lines (doesn't matter whether long or short) with a
|
||||
# trailing '\', as in:
|
||||
#
|
||||
# foo.o : \
|
||||
# foo.c \
|
||||
# foo.h \
|
||||
#
|
||||
# It will put a trailing '\' even on the last line, and will use leading
|
||||
# spaces rather than leading tabs (at least since its commit 0394caf7
|
||||
# "Emit spaces for -MD").
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
|
||||
# We have to change lines of the first kind to '$object: \'.
|
||||
sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
|
||||
# And for each line of the second kind, we have to emit a 'dep.h:'
|
||||
# dummy dependency, to avoid the deleted-header problem.
|
||||
sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
## The order of this option in the case statement is important, since the
|
||||
## shell code in configure will try each of these formats in the order
|
||||
## listed in this file. A plain '-MD' option would be understood by many
|
||||
## compilers, so we must ensure this comes after the gcc and icc options.
|
||||
pgcc)
|
||||
# Portland's C compiler understands '-MD'.
|
||||
# Will always output deps to 'file.d' where file is the root name of the
|
||||
# source file under compilation, even if file resides in a subdirectory.
|
||||
# The object file name does not affect the name of the '.d' file.
|
||||
# pgcc 10.2 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using '\' :
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
set_dir_from "$object"
|
||||
# Use the source, not the object, to determine the base name, since
|
||||
# that's sadly what pgcc will do too.
|
||||
set_base_from "$source"
|
||||
tmpdepfile=$base.d
|
||||
|
||||
# For projects that build the same source file twice into different object
|
||||
# files, the pgcc approach of using the *source* file root name can cause
|
||||
# problems in parallel builds. Use a locking strategy to avoid stomping on
|
||||
# the same $tmpdepfile.
|
||||
lockdir=$base.d-lock
|
||||
trap "
|
||||
echo '$0: caught signal, cleaning up...' >&2
|
||||
rmdir '$lockdir'
|
||||
exit 1
|
||||
" 1 2 13 15
|
||||
numtries=100
|
||||
i=$numtries
|
||||
while test $i -gt 0; do
|
||||
# mkdir is a portable test-and-set.
|
||||
if mkdir "$lockdir" 2>/dev/null; then
|
||||
# This process acquired the lock.
|
||||
"$@" -MD
|
||||
stat=$?
|
||||
# Release the lock.
|
||||
rmdir "$lockdir"
|
||||
break
|
||||
else
|
||||
# If the lock is being held by a different process, wait
|
||||
# until the winning process is done or we timeout.
|
||||
while test -d "$lockdir" && test $i -gt 0; do
|
||||
sleep 1
|
||||
i=`expr $i - 1`
|
||||
done
|
||||
fi
|
||||
i=`expr $i - 1`
|
||||
done
|
||||
trap - 1 2 13 15
|
||||
if test $i -le 0; then
|
||||
echo "$0: failed to acquire lock after $numtries attempts" >&2
|
||||
echo "$0: check lockdir '$lockdir'" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form `foo.o: dependent.h',
|
||||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp2)
|
||||
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||
# compilers, which have integrated preprocessors. The correct option
|
||||
# to use with these is +Maked; it writes dependencies to a file named
|
||||
# 'foo.d', which lands next to the object file, wherever that
|
||||
# happens to be.
|
||||
# Much of this is similar to the tru64 case; see comments there.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir.libs/$base.d
|
||||
"$@" -Wc,+Maked
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
"$@" +Maked
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||
# Add 'dependent.h:' lines.
|
||||
sed -ne '2,${
|
||||
s/^ *//
|
||||
s/ \\*$//
|
||||
s/$/:/
|
||||
p
|
||||
}' "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in 'foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
# Libtool generates 2 separate objects for the 2 libraries. These
|
||||
# two compilations output dependencies in $dir.libs/$base.o.d and
|
||||
# in $dir$base.o.d. We have to check for both files, because
|
||||
# one of the two compilations can be disabled. We should prefer
|
||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||
# the former would cause a distcleancheck panic.
|
||||
tmpdepfile1=$dir$base.o.d # libtool 1.5
|
||||
tmpdepfile2=$dir.libs/$base.o.d # Likewise.
|
||||
tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
tmpdepfile3=$dir$base.d
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
# Same post-processing that is required for AIX mode.
|
||||
aix_post_process_depfile
|
||||
;;
|
||||
|
||||
msvc7)
|
||||
if test "$libtool" = yes; then
|
||||
showIncludes=-Wc,-showIncludes
|
||||
else
|
||||
showIncludes=-showIncludes
|
||||
fi
|
||||
"$@" $showIncludes > "$tmpdepfile"
|
||||
stat=$?
|
||||
grep -v '^Note: including file: ' "$tmpdepfile"
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
# The first sed program below extracts the file names and escapes
|
||||
# backslashes for cygpath. The second sed program outputs the file
|
||||
# name when reading, but also accumulates all include files in the
|
||||
# hold buffer in order to output them again at the end. This only
|
||||
# works with sed implementations that can handle large buffers.
|
||||
sed < "$tmpdepfile" -n '
|
||||
/^Note: including file: *\(.*\)/ {
|
||||
s//\1/
|
||||
s/\\/\\\\/g
|
||||
p
|
||||
}' | $cygpath_u | sort -u | sed -n '
|
||||
s/ /\\ /g
|
||||
s/\(.*\)/'"$tab"'\1 \\/p
|
||||
s/.\(.*\) \\/\1:/
|
||||
H
|
||||
$ {
|
||||
s/.*/'"$tab"'/
|
||||
G
|
||||
p
|
||||
}' >> "$depfile"
|
||||
echo >> "$depfile" # make sure the fragment doesn't end with a backslash
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvc7msys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove '-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for ':'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this sed invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
dashXmstdout)
|
||||
# This case only exists to satisfy depend.m4. It is never actually
|
||||
# run, as this mode is specially recognized in the preamble.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no eat=no
|
||||
for arg
|
||||
do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
if test $eat = yes; then
|
||||
eat=no
|
||||
continue
|
||||
fi
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-arch)
|
||||
eat=yes ;;
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix=`echo "$object" | sed 's/^.*\././'`
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
# makedepend may prepend the VPATH from the source file name to the object.
|
||||
# No need to regex-escape $object, excess matching of '.' is harmless.
|
||||
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process the last invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed '1,2d' "$tmpdepfile" \
|
||||
| tr ' ' "$nl" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||
;;
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove '-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E \
|
||||
| sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
| sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E 2>/dev/null |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
|
||||
echo "$tab" >> "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvcmsys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown depmode $depmode" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
16
doc/CMakeLists.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
# generate doxygen documentation for json-c API
|
||||
|
||||
find_package(Doxygen)
|
||||
|
||||
if (DOXYGEN_FOUND)
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
|
||||
message(STATUS "Wrote ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile")
|
||||
|
||||
add_custom_target(doc
|
||||
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
|
||||
|
||||
else (DOXYGEN_FOUND)
|
||||
message("Warning: doxygen not found, the 'doc' target will not be included")
|
||||
endif(DOXYGEN_FOUND)
|
||||
@@ -38,7 +38,7 @@ PROJECT_NAME = json-c
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 0.13.1
|
||||
PROJECT_NUMBER = @PROJECT_VERSION@
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
@@ -58,7 +58,7 @@ PROJECT_LOGO =
|
||||
# entered, it will be relative to the location where doxygen was started. If
|
||||
# left blank the current directory will be used.
|
||||
|
||||
OUTPUT_DIRECTORY = doc
|
||||
OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@
|
||||
|
||||
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
|
||||
# directories (in 2 levels) under the output directory of each output format and
|
||||
@@ -753,8 +753,7 @@ WARN_LOGFILE =
|
||||
# spaces.
|
||||
# Note: If this tag is empty the current directory is searched.
|
||||
|
||||
INPUT = README.md \
|
||||
.
|
||||
INPUT = @CMAKE_SOURCE_DIR@ @CMAKE_BINARY_DIR@
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||
@@ -891,7 +890,7 @@ FILTER_SOURCE_PATTERNS =
|
||||
# (index.html). This can be useful if you have a project on for instance GitHub
|
||||
# and want to reuse the introduction page also for the doxygen output.
|
||||
|
||||
USE_MDFILE_AS_MAINPAGE =
|
||||
USE_MDFILE_AS_MAINPAGE = README.md
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to source browsing
|
||||
@@ -1,58 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: README.md File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">README.md File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,72 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Data Structures</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="functions.html"><span>Data Fields</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Data Structures</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
|
||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structarray__list.html" target="_self">array_list</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structjson__object.html" target="_self">json_object</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionjson__object_1_1data.html" target="_self">data</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structjson__object__iter.html" target="_self">json_object_iter</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structjson__object__iterator.html" target="_self">json_object_iterator</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_4_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structjson__tokener.html" target="_self">json_tokener</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structjson__tokener__srec.html" target="_self">json_tokener_srec</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_6_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlh__entry.html" target="_self">lh_entry</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlh__table.html" target="_self">lh_table</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_8_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structprintbuf.html" target="_self">printbuf</a></td><td class="desc"></td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,368 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: arraylist.h File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#nested-classes">Data Structures</a> |
|
||||
<a href="#define-members">Macros</a> |
|
||||
<a href="#typedef-members">Typedefs</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">arraylist.h File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Internal methods for working with json_type_array objects. Although this is exposed by the <a class="el" href="json__object_8h.html#a23d20e3f886c1638a7116be66b7b5ec2">json_object_get_array()</a> method, it is not recommended for direct use.
|
||||
<a href="#details">More...</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
||||
Data Structures</h2></td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarray__list.html">array_list</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
|
||||
Macros</h2></td></tr>
|
||||
<tr class="memitem:acd30d910b398421574eb1f59e78617f5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="arraylist_8h.html#acd30d910b398421574eb1f59e78617f5">ARRAY_LIST_DEFAULT_SIZE</a>   32</td></tr>
|
||||
<tr class="separator:acd30d910b398421574eb1f59e78617f5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
|
||||
Typedefs</h2></td></tr>
|
||||
<tr class="memitem:aad83e4ed3c8ea274e6f18459276d774b"><td class="memItemLeft" align="right" valign="top">typedef void( </td><td class="memItemRight" valign="bottom"><a class="el" href="arraylist_8h.html#aad83e4ed3c8ea274e6f18459276d774b">array_list_free_fn</a> )(void *data)</td></tr>
|
||||
<tr class="separator:aad83e4ed3c8ea274e6f18459276d774b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6d6d32d8b026ea2025df519b9e90f44a"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structarray__list.html">array_list</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="arraylist_8h.html#a6d6d32d8b026ea2025df519b9e90f44a">array_list</a></td></tr>
|
||||
<tr class="separator:a6d6d32d8b026ea2025df519b9e90f44a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:a0d4bfac055dfd98e17296142abf4d894"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structarray__list.html">array_list</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="arraylist_8h.html#a0d4bfac055dfd98e17296142abf4d894">array_list_new</a> (<a class="el" href="arraylist_8h.html#aad83e4ed3c8ea274e6f18459276d774b">array_list_free_fn</a> *free_fn)</td></tr>
|
||||
<tr class="separator:a0d4bfac055dfd98e17296142abf4d894"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:acd00fb70f7ca82f23b48b812c3498f67"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="arraylist_8h.html#acd00fb70f7ca82f23b48b812c3498f67">array_list_free</a> (struct <a class="el" href="structarray__list.html">array_list</a> *al)</td></tr>
|
||||
<tr class="separator:acd00fb70f7ca82f23b48b812c3498f67"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a114f1af5b20b76a3dbb2d1d055006df8"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="arraylist_8h.html#a114f1af5b20b76a3dbb2d1d055006df8">array_list_get_idx</a> (struct <a class="el" href="structarray__list.html">array_list</a> *al, size_t i)</td></tr>
|
||||
<tr class="separator:a114f1af5b20b76a3dbb2d1d055006df8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9f92076e9d8229f8a07e536dc286f811"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="arraylist_8h.html#a9f92076e9d8229f8a07e536dc286f811">array_list_put_idx</a> (struct <a class="el" href="structarray__list.html">array_list</a> *al, size_t i, void *data)</td></tr>
|
||||
<tr class="separator:a9f92076e9d8229f8a07e536dc286f811"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6e995608aa464244ff3184fb43574dc8"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="arraylist_8h.html#a6e995608aa464244ff3184fb43574dc8">array_list_add</a> (struct <a class="el" href="structarray__list.html">array_list</a> *al, void *data)</td></tr>
|
||||
<tr class="separator:a6e995608aa464244ff3184fb43574dc8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa3bf90f47aa210032304b14e7ad09ef7"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="arraylist_8h.html#aa3bf90f47aa210032304b14e7ad09ef7">array_list_length</a> (struct <a class="el" href="structarray__list.html">array_list</a> *al)</td></tr>
|
||||
<tr class="separator:aa3bf90f47aa210032304b14e7ad09ef7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afb67cc8e2e5c9be41c3e644536079169"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="arraylist_8h.html#afb67cc8e2e5c9be41c3e644536079169">array_list_sort</a> (struct <a class="el" href="structarray__list.html">array_list</a> *arr, int(*compar)(const void *, const void *))</td></tr>
|
||||
<tr class="separator:afb67cc8e2e5c9be41c3e644536079169"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8dae21354e818f13dbe4e952daec2669"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="arraylist_8h.html#a8dae21354e818f13dbe4e952daec2669">array_list_bsearch</a> (const void **key, struct <a class="el" href="structarray__list.html">array_list</a> *arr, int(*sort_fn)(const void *, const void *))</td></tr>
|
||||
<tr class="separator:a8dae21354e818f13dbe4e952daec2669"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aecedd8601ee96e2fd8eff5d83fda89ab"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="arraylist_8h.html#aecedd8601ee96e2fd8eff5d83fda89ab">array_list_del_idx</a> (struct <a class="el" href="structarray__list.html">array_list</a> *arr, size_t idx, size_t count)</td></tr>
|
||||
<tr class="separator:aecedd8601ee96e2fd8eff5d83fda89ab"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Internal methods for working with json_type_array objects. Although this is exposed by the <a class="el" href="json__object_8h.html#a23d20e3f886c1638a7116be66b7b5ec2">json_object_get_array()</a> method, it is not recommended for direct use. </p>
|
||||
</div><h2 class="groupheader">Macro Definition Documentation</h2>
|
||||
<a class="anchor" id="acd30d910b398421574eb1f59e78617f5"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define ARRAY_LIST_DEFAULT_SIZE   32</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Typedef Documentation</h2>
|
||||
<a class="anchor" id="a6d6d32d8b026ea2025df519b9e90f44a"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">typedef struct <a class="el" href="structarray__list.html">array_list</a> <a class="el" href="structarray__list.html">array_list</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="aad83e4ed3c8ea274e6f18459276d774b"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">typedef void( array_list_free_fn)(void *data)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
<a class="anchor" id="a6e995608aa464244ff3184fb43574dc8"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int array_list_add </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">struct <a class="el" href="structarray__list.html">array_list</a> * </td>
|
||||
<td class="paramname"><em>al</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">void * </td>
|
||||
<td class="paramname"><em>data</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a8dae21354e818f13dbe4e952daec2669"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void* array_list_bsearch </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const void ** </td>
|
||||
<td class="paramname"><em>key</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">struct <a class="el" href="structarray__list.html">array_list</a> * </td>
|
||||
<td class="paramname"><em>arr</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int(*)(const void *, const void *) </td>
|
||||
<td class="paramname"><em>sort_fn</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="aecedd8601ee96e2fd8eff5d83fda89ab"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int array_list_del_idx </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">struct <a class="el" href="structarray__list.html">array_list</a> * </td>
|
||||
<td class="paramname"><em>arr</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"><em>idx</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"><em>count</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="acd00fb70f7ca82f23b48b812c3498f67"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void array_list_free </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">struct <a class="el" href="structarray__list.html">array_list</a> * </td>
|
||||
<td class="paramname"><em>al</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a114f1af5b20b76a3dbb2d1d055006df8"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void* array_list_get_idx </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">struct <a class="el" href="structarray__list.html">array_list</a> * </td>
|
||||
<td class="paramname"><em>al</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"><em>i</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="aa3bf90f47aa210032304b14e7ad09ef7"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">size_t array_list_length </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">struct <a class="el" href="structarray__list.html">array_list</a> * </td>
|
||||
<td class="paramname"><em>al</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a0d4bfac055dfd98e17296142abf4d894"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">struct <a class="el" href="structarray__list.html">array_list</a>* array_list_new </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="arraylist_8h.html#aad83e4ed3c8ea274e6f18459276d774b">array_list_free_fn</a> * </td>
|
||||
<td class="paramname"><em>free_fn</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a9f92076e9d8229f8a07e536dc286f811"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int array_list_put_idx </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">struct <a class="el" href="structarray__list.html">array_list</a> * </td>
|
||||
<td class="paramname"><em>al</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"><em>i</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">void * </td>
|
||||
<td class="paramname"><em>data</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="afb67cc8e2e5c9be41c3e644536079169"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void array_list_sort </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">struct <a class="el" href="structarray__list.html">array_list</a> * </td>
|
||||
<td class="paramname"><em>arr</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int(*)(const void *, const void *) </td>
|
||||
<td class="paramname"><em>compar</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
|
Before Width: | Height: | Size: 676 B |
|
Before Width: | Height: | Size: 147 B |
@@ -1,150 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: bits.h File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#define-members">Macros</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">bits.h File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Do not use, only contains deprecated defines.
|
||||
<a href="#details">More...</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
|
||||
Macros</h2></td></tr>
|
||||
<tr class="memitem:a1cf38b22d3a118ad48d9282c32c048aa"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bits_8h.html#a1cf38b22d3a118ad48d9282c32c048aa">hexdigit</a>(x)   (((x) <= '9') ? (x) - '0' : ((x) & 7) + 9)</td></tr>
|
||||
<tr class="separator:a1cf38b22d3a118ad48d9282c32c048aa"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a863a898e607f8c2ff87b7052e326740f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bits_8h.html#a863a898e607f8c2ff87b7052e326740f">error_ptr</a>(error)   ((void*)error)</td></tr>
|
||||
<tr class="separator:a863a898e607f8c2ff87b7052e326740f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a45afe86501cd57ee2beeef9d67a4d40c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bits_8h.html#a45afe86501cd57ee2beeef9d67a4d40c">error_description</a>(error)   (<a class="el" href="json__tokener_8h.html#af5d7ffd95a0f6e5d5bb5994d233b4197">json_tokener_get_error</a>(error))</td></tr>
|
||||
<tr class="separator:a45afe86501cd57ee2beeef9d67a4d40c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4a887e5fb7cde221bcab9c6f39d93fc1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bits_8h.html#a4a887e5fb7cde221bcab9c6f39d93fc1">is_error</a>(ptr)   (ptr == NULL)</td></tr>
|
||||
<tr class="separator:a4a887e5fb7cde221bcab9c6f39d93fc1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Do not use, only contains deprecated defines. </p>
|
||||
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Use <a class="el" href="json__util_8h.html" title="Miscllaneous utility functions and macros. ">json_util.h</a> instead.</dd></dl>
|
||||
<dl class="section rcs"><dt>Id</dt><dd><a class="el" href="bits_8h.html" title="Do not use, only contains deprecated defines. ">bits.h</a>,v 1.10 2006/01/30 23:07:57 mclark Exp </dd></dl>
|
||||
<p>Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. Michael Clark <a href="#" onclick="location.href='mai'+'lto:'+'mic'+'ha'+'el@'+'me'+'tap'+'ar'+'adi'+'gm'+'.co'+'m'; return false;">micha<span style="display: none;">.nosp@m.</span>el@m<span style="display: none;">.nosp@m.</span>etapa<span style="display: none;">.nosp@m.</span>radi<span style="display: none;">.nosp@m.</span>gm.co<span style="display: none;">.nosp@m.</span>m</a></p>
|
||||
<p>This library is free software; you can redistribute it and/or modify it under the terms of the MIT license. See COPYING for details. </p>
|
||||
</div><h2 class="groupheader">Macro Definition Documentation</h2>
|
||||
<a class="anchor" id="a45afe86501cd57ee2beeef9d67a4d40c"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define error_description</td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname">error</td><td>)</td>
|
||||
<td>   (<a class="el" href="json__tokener_8h.html#af5d7ffd95a0f6e5d5bb5994d233b4197">json_tokener_get_error</a>(error))</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd></dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a863a898e607f8c2ff87b7052e326740f"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define error_ptr</td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname">error</td><td>)</td>
|
||||
<td>   ((void*)error)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd></dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a1cf38b22d3a118ad48d9282c32c048aa"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define hexdigit</td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname">x</td><td>)</td>
|
||||
<td>   (((x) <= '9') ? (x) - '0' : ((x) & 7) + 9)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd></dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a4a887e5fb7cde221bcab9c6f39d93fc1"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define is_error</td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname">ptr</td><td>)</td>
|
||||
<td>   (ptr == NULL)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd></dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,74 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Data Structure Index</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="functions.html"><span>Data Fields</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Data Structure Index</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="qindex"><a class="qindex" href="#letter_A">A</a> | <a class="qindex" href="#letter_D">D</a> | <a class="qindex" href="#letter_J">J</a> | <a class="qindex" href="#letter_L">L</a> | <a class="qindex" href="#letter_P">P</a></div>
|
||||
<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
|
||||
<tr><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  a  </div></td></tr></table>
|
||||
</td><td rowspan="2" valign="bottom"><a name="letter_j"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  j  </div></td></tr></table>
|
||||
</td><td valign="top"><a class="el" href="structjson__object__iterator.html">json_object_iterator</a>   </td><td valign="top"><a class="el" href="structlh__table.html">lh_table</a>   </td><td></td></tr>
|
||||
<tr><td valign="top"><a class="el" href="structjson__tokener.html">json_tokener</a>   </td><td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  p  </div></td></tr></table>
|
||||
</td><td></td></tr>
|
||||
<tr><td valign="top"><a class="el" href="structarray__list.html">array_list</a>   </td><td valign="top"><a class="el" href="structjson__object.html">json_object</a>   </td><td valign="top"><a class="el" href="structjson__tokener__srec.html">json_tokener_srec</a>   </td><td></td></tr>
|
||||
<tr><td rowspan="2" valign="bottom"><a name="letter_d"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  d  </div></td></tr></table>
|
||||
</td><td valign="top"><a class="el" href="structjson__object__iter.html">json_object_iter</a>   </td><td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  l  </div></td></tr></table>
|
||||
</td><td valign="top"><a class="el" href="structprintbuf.html">printbuf</a>   </td><td></td></tr>
|
||||
<tr><td></td><td></td><td></td></tr>
|
||||
<tr><td valign="top"><a class="el" href="unionjson__object_1_1data.html">json_object::data</a>   </td><td></td><td valign="top"><a class="el" href="structlh__entry.html">lh_entry</a>   </td><td></td><td></td></tr>
|
||||
<tr><td></td><td></td><td></td><td></td><td></td></tr>
|
||||
</table>
|
||||
<div class="qindex"><a class="qindex" href="#letter_A">A</a> | <a class="qindex" href="#letter_D">D</a> | <a class="qindex" href="#letter_J">J</a> | <a class="qindex" href="#letter_L">L</a> | <a class="qindex" href="#letter_P">P</a></div>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
|
Before Width: | Height: | Size: 132 B |
@@ -1,386 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: debug.h File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#define-members">Macros</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">debug.h File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Do not use, json-c internal, may be changed or removed at any time.
|
||||
<a href="#details">More...</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
|
||||
Macros</h2></td></tr>
|
||||
<tr class="memitem:a375c4dc9f0fb338999de81aab826f9d6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a375c4dc9f0fb338999de81aab826f9d6">__STRING</a>(x)   #x</td></tr>
|
||||
<tr class="separator:a375c4dc9f0fb338999de81aab826f9d6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8ca29550d5b1b73948f4a7bce53f2385"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a8ca29550d5b1b73948f4a7bce53f2385">JASSERT</a>(cond)   do {} while(0)</td></tr>
|
||||
<tr class="separator:a8ca29550d5b1b73948f4a7bce53f2385"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a11ba39cecbe449af5b86fa2f78e9da9d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a11ba39cecbe449af5b86fa2f78e9da9d">MC_ERROR</a>(x,...)   <a class="el" href="debug_8h.html#abf22ea3a331c7ff21c23da91a07c7cb2">mc_error</a>(x, ##__VA_ARGS__)</td></tr>
|
||||
<tr class="separator:a11ba39cecbe449af5b86fa2f78e9da9d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a50f21a239fa040a10ad4cfdb4278b02b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a50f21a239fa040a10ad4cfdb4278b02b">MC_SET_DEBUG</a>(x)   if (0) <a class="el" href="debug_8h.html#af65a73617b71476020a005b20bf02726">mc_set_debug</a>(x)</td></tr>
|
||||
<tr class="separator:a50f21a239fa040a10ad4cfdb4278b02b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:acb272a4b4444b69cd995236f167f90ba"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#acb272a4b4444b69cd995236f167f90ba">MC_GET_DEBUG</a>()   (0)</td></tr>
|
||||
<tr class="separator:acb272a4b4444b69cd995236f167f90ba"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:acf1e895cb5eb7f334cbe51901e6bb918"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#acf1e895cb5eb7f334cbe51901e6bb918">MC_SET_SYSLOG</a>(x)   if (0) <a class="el" href="debug_8h.html#aadb888da410116384e75a00db30da705">mc_set_syslog</a>(x)</td></tr>
|
||||
<tr class="separator:acf1e895cb5eb7f334cbe51901e6bb918"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afda355b35d18bf2e6a2a22d5c8eef42c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#afda355b35d18bf2e6a2a22d5c8eef42c">MC_DEBUG</a>(x,...)   if (0) <a class="el" href="debug_8h.html#a600cf4cbbe19c0c15ca3710210e35aba">mc_debug</a>(x, ##__VA_ARGS__)</td></tr>
|
||||
<tr class="separator:afda355b35d18bf2e6a2a22d5c8eef42c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5ef640ce1e9e61c5f6632aefbbfa0041"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a5ef640ce1e9e61c5f6632aefbbfa0041">MC_INFO</a>(x,...)   if (0) <a class="el" href="debug_8h.html#acbb92996a994e316ff65ed3a026e12a4">mc_info</a>(x, ##__VA_ARGS__)</td></tr>
|
||||
<tr class="separator:a5ef640ce1e9e61c5f6632aefbbfa0041"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:af65a73617b71476020a005b20bf02726"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#af65a73617b71476020a005b20bf02726">mc_set_debug</a> (int debug)</td></tr>
|
||||
<tr class="separator:af65a73617b71476020a005b20bf02726"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a3b3ab3ae8b438384fb109a2e38646b6e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a3b3ab3ae8b438384fb109a2e38646b6e">mc_get_debug</a> (void)</td></tr>
|
||||
<tr class="separator:a3b3ab3ae8b438384fb109a2e38646b6e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aadb888da410116384e75a00db30da705"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#aadb888da410116384e75a00db30da705">mc_set_syslog</a> (int syslog)</td></tr>
|
||||
<tr class="separator:aadb888da410116384e75a00db30da705"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a600cf4cbbe19c0c15ca3710210e35aba"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a600cf4cbbe19c0c15ca3710210e35aba">mc_debug</a> (const char *msg,...)</td></tr>
|
||||
<tr class="separator:a600cf4cbbe19c0c15ca3710210e35aba"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abf22ea3a331c7ff21c23da91a07c7cb2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#abf22ea3a331c7ff21c23da91a07c7cb2">mc_error</a> (const char *msg,...)</td></tr>
|
||||
<tr class="separator:abf22ea3a331c7ff21c23da91a07c7cb2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:acbb92996a994e316ff65ed3a026e12a4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#acbb92996a994e316ff65ed3a026e12a4">mc_info</a> (const char *msg,...)</td></tr>
|
||||
<tr class="separator:acbb92996a994e316ff65ed3a026e12a4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Do not use, json-c internal, may be changed or removed at any time. </p>
|
||||
</div><h2 class="groupheader">Macro Definition Documentation</h2>
|
||||
<a class="anchor" id="a375c4dc9f0fb338999de81aab826f9d6"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define __STRING</td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname">x</td><td>)</td>
|
||||
<td>   #x</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a8ca29550d5b1b73948f4a7bce53f2385"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define JASSERT</td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname">cond</td><td>)</td>
|
||||
<td>   do {} while(0)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="afda355b35d18bf2e6a2a22d5c8eef42c"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define MC_DEBUG</td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname">x, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname"><em>...</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td>   if (0) <a class="el" href="debug_8h.html#a600cf4cbbe19c0c15ca3710210e35aba">mc_debug</a>(x, ##__VA_ARGS__)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a11ba39cecbe449af5b86fa2f78e9da9d"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define MC_ERROR</td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname">x, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname"><em>...</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td>   <a class="el" href="debug_8h.html#abf22ea3a331c7ff21c23da91a07c7cb2">mc_error</a>(x, ##__VA_ARGS__)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="acb272a4b4444b69cd995236f167f90ba"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define MC_GET_DEBUG</td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td>   (0)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a5ef640ce1e9e61c5f6632aefbbfa0041"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define MC_INFO</td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname">x, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname"><em>...</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td>   if (0) <a class="el" href="debug_8h.html#acbb92996a994e316ff65ed3a026e12a4">mc_info</a>(x, ##__VA_ARGS__)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a50f21a239fa040a10ad4cfdb4278b02b"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define MC_SET_DEBUG</td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname">x</td><td>)</td>
|
||||
<td>   if (0) <a class="el" href="debug_8h.html#af65a73617b71476020a005b20bf02726">mc_set_debug</a>(x)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="acf1e895cb5eb7f334cbe51901e6bb918"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define MC_SET_SYSLOG</td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname">x</td><td>)</td>
|
||||
<td>   if (0) <a class="el" href="debug_8h.html#aadb888da410116384e75a00db30da705">mc_set_syslog</a>(x)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
<a class="anchor" id="a600cf4cbbe19c0c15ca3710210e35aba"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void mc_debug </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"><em>msg</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname"><em>...</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="abf22ea3a331c7ff21c23da91a07c7cb2"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void mc_error </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"><em>msg</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname"><em>...</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a3b3ab3ae8b438384fb109a2e38646b6e"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int mc_get_debug </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="acbb92996a994e316ff65ed3a026e12a4"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void mc_info </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"><em>msg</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"> </td>
|
||||
<td class="paramname"><em>...</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="af65a73617b71476020a005b20bf02726"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void mc_set_debug </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>debug</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="aadb888da410116384e75a00db30da705"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void mc_set_syslog </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>syslog</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,74 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Deprecated List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Deprecated List </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><dl class="reflist">
|
||||
<dt><a class="anchor" id="_deprecated000009"></a>Global <a class="el" href="linkhash_8h.html#a77c5cddef96e6f1ab036ccf911783456">_LH_INLINE</a> </dt>
|
||||
<dd>Don't use this outside of <a class="el" href="linkhash_8h.html" title="Internal methods for working with json_type_object objects. Although this is exposed by the json_obje...">linkhash.h</a>: </dd>
|
||||
<dt><a class="anchor" id="_deprecated000010"></a>Global <a class="el" href="linkhash_8h.html#afb856ed4a9bcfd090dde5151fa3ad9ae">_LH_UNCONST</a> (a)</dt>
|
||||
<dd>Don't use this outside of <a class="el" href="linkhash_8h.html" title="Internal methods for working with json_type_object objects. Although this is exposed by the json_obje...">linkhash.h</a>: </dd>
|
||||
<dt><a class="anchor" id="_deprecated000001"></a>File <a class="el" href="bits_8h.html">bits.h</a> </dt>
|
||||
<dd>Use <a class="el" href="json__util_8h.html" title="Miscllaneous utility functions and macros. ">json_util.h</a> instead. </dd>
|
||||
<dt><a class="anchor" id="_deprecated000004"></a>Global <a class="el" href="bits_8h.html#a45afe86501cd57ee2beeef9d67a4d40c">error_description</a> (error)</dt>
|
||||
<dd></dd>
|
||||
<dt><a class="anchor" id="_deprecated000003"></a>Global <a class="el" href="bits_8h.html#a863a898e607f8c2ff87b7052e326740f">error_ptr</a> (error)</dt>
|
||||
<dd></dd>
|
||||
<dt><a class="anchor" id="_deprecated000002"></a>Global <a class="el" href="bits_8h.html#a1cf38b22d3a118ad48d9282c32c048aa">hexdigit</a> (x)</dt>
|
||||
<dd></dd>
|
||||
<dt><a class="anchor" id="_deprecated000005"></a>Global <a class="el" href="bits_8h.html#a4a887e5fb7cde221bcab9c6f39d93fc1">is_error</a> (ptr)</dt>
|
||||
<dd></dd>
|
||||
<dt><a class="anchor" id="_deprecated000006"></a>Global <a class="el" href="json__tokener_8h.html#a4dd5e5b65aee7f376f529f86b210ff49">json_tokener</a> </dt>
|
||||
<dd>Unused in json-c code </dd>
|
||||
<dt><a class="anchor" id="_deprecated000008"></a>Global <a class="el" href="linkhash_8h.html#a1294160fa0e80cee04cd745a401f43a4">lh_abort</a> (const char *msg,...)</dt>
|
||||
<dd>Since it is not a good idea to exit the entire program because of an internal library failure, json-c will no longer use this function internally. However, because its interface is public, it will remain part of the API on the off chance of legacy software using it externally. </dd>
|
||||
<dt><a class="anchor" id="_deprecated000007"></a>Global <a class="el" href="linkhash_8h.html#a49c27f18a174eaf126d1b7953df13cb1">lh_table_lookup</a> (struct <a class="el" href="structlh__table.html">lh_table</a> *t, const void *k)</dt>
|
||||
<dd>Use <a class="el" href="linkhash_8h.html#a81c270bb0dd9d5c8a3e7ae20bc4d67f3">lh_table_lookup_ex()</a> instead. </dd>
|
||||
</dl>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
BIN
doc/html/doc.png
|
Before Width: | Height: | Size: 746 B |
1440
doc/html/doxygen.css
|
Before Width: | Height: | Size: 3.7 KiB |
@@ -1,97 +0,0 @@
|
||||
function toggleVisibility(linkObj)
|
||||
{
|
||||
var base = $(linkObj).attr('id');
|
||||
var summary = $('#'+base+'-summary');
|
||||
var content = $('#'+base+'-content');
|
||||
var trigger = $('#'+base+'-trigger');
|
||||
var src=$(trigger).attr('src');
|
||||
if (content.is(':visible')===true) {
|
||||
content.hide();
|
||||
summary.show();
|
||||
$(linkObj).addClass('closed').removeClass('opened');
|
||||
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
|
||||
} else {
|
||||
content.show();
|
||||
summary.hide();
|
||||
$(linkObj).removeClass('closed').addClass('opened');
|
||||
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function updateStripes()
|
||||
{
|
||||
$('table.directory tr').
|
||||
removeClass('even').filter(':visible:even').addClass('even');
|
||||
}
|
||||
|
||||
function toggleLevel(level)
|
||||
{
|
||||
$('table.directory tr').each(function() {
|
||||
var l = this.id.split('_').length-1;
|
||||
var i = $('#img'+this.id.substring(3));
|
||||
var a = $('#arr'+this.id.substring(3));
|
||||
if (l<level+1) {
|
||||
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
|
||||
a.html('▼');
|
||||
$(this).show();
|
||||
} else if (l==level+1) {
|
||||
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
|
||||
a.html('►');
|
||||
$(this).show();
|
||||
} else {
|
||||
$(this).hide();
|
||||
}
|
||||
});
|
||||
updateStripes();
|
||||
}
|
||||
|
||||
function toggleFolder(id)
|
||||
{
|
||||
// the clicked row
|
||||
var currentRow = $('#row_'+id);
|
||||
|
||||
// all rows after the clicked row
|
||||
var rows = currentRow.nextAll("tr");
|
||||
|
||||
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
|
||||
|
||||
// only match elements AFTER this one (can't hide elements before)
|
||||
var childRows = rows.filter(function() { return this.id.match(re); });
|
||||
|
||||
// first row is visible we are HIDING
|
||||
if (childRows.filter(':first').is(':visible')===true) {
|
||||
// replace down arrow by right arrow for current row
|
||||
var currentRowSpans = currentRow.find("span");
|
||||
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
||||
currentRowSpans.filter(".arrow").html('►');
|
||||
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
|
||||
} else { // we are SHOWING
|
||||
// replace right arrow by down arrow for current row
|
||||
var currentRowSpans = currentRow.find("span");
|
||||
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
|
||||
currentRowSpans.filter(".arrow").html('▼');
|
||||
// replace down arrows by right arrows for child rows
|
||||
var childRowsSpans = childRows.find("span");
|
||||
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
||||
childRowsSpans.filter(".arrow").html('►');
|
||||
childRows.show(); //show all children
|
||||
}
|
||||
updateStripes();
|
||||
}
|
||||
|
||||
|
||||
function toggleInherit(id)
|
||||
{
|
||||
var rows = $('tr.inherit.'+id);
|
||||
var img = $('tr.inherit_header.'+id+' img');
|
||||
var src = $(img).attr('src');
|
||||
if (rows.filter(':first').is(':visible')===true) {
|
||||
rows.css('display','none');
|
||||
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
|
||||
} else {
|
||||
rows.css('display','table-row'); // using show() causes jump in firefox
|
||||
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: File List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">File List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
|
||||
<table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="arraylist_8h.html" target="_self">arraylist.h</a></td><td class="desc">Internal methods for working with json_type_array objects. Although this is exposed by the <a class="el" href="json__object_8h.html#a23d20e3f886c1638a7116be66b7b5ec2">json_object_get_array()</a> method, it is not recommended for direct use </td></tr>
|
||||
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="bits_8h.html" target="_self">bits.h</a></td><td class="desc">Do not use, only contains deprecated defines </td></tr>
|
||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="debug_8h.html" target="_self">debug.h</a></td><td class="desc">Do not use, json-c internal, may be changed or removed at any time </td></tr>
|
||||
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="json_8h.html" target="_self">json.h</a></td><td class="desc">A convenience header that may be included instead of other individual ones </td></tr>
|
||||
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="json__c__version_8h.html" target="_self">json_c_version.h</a></td><td class="desc">Methods for retrieving the json-c version </td></tr>
|
||||
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="json__inttypes_8h.html" target="_self">json_inttypes.h</a></td><td class="desc">Do not use, json-c internal, may be changed or removed at any time </td></tr>
|
||||
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="json__object_8h.html" target="_self">json_object.h</a></td><td class="desc">Core json-c API. Start here, or with <a class="el" href="json__tokener_8h.html" title="Methods to parse an input string into a tree of json_object objects. ">json_tokener.h</a> </td></tr>
|
||||
<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="json__object__iterator_8h.html" target="_self">json_object_iterator.h</a></td><td class="desc">An API for iterating over json_type_object objects, styled to be familiar to C++ programmers. Unlike <a class="el" href="json__object_8h.html#acf5f514a9e0061c10fc08055762639ee">json_object_object_foreach()</a> and <a class="el" href="json__object_8h.html#a71f07006c12d78f7bbf4cb716a5af3a6">json_object_object_foreachC()</a>, this avoids the need to expose json-c internals like <a class="el" href="structlh__entry.html">lh_entry</a> </td></tr>
|
||||
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="json__object__private_8h.html" target="_self">json_object_private.h</a></td><td class="desc">Do not use, json-c internal, may be changed or removed at any time </td></tr>
|
||||
<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="json__pointer_8h.html" target="_self">json_pointer.h</a></td><td class="desc">JSON Pointer (RFC 6901) implementation for retrieving objects from a json-c object tree </td></tr>
|
||||
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="json__tokener_8h.html" target="_self">json_tokener.h</a></td><td class="desc">Methods to parse an input string into a tree of <a class="el" href="structjson__object.html">json_object</a> objects </td></tr>
|
||||
<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="json__util_8h.html" target="_self">json_util.h</a></td><td class="desc">Miscllaneous utility functions and macros </td></tr>
|
||||
<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="json__visit_8h.html" target="_self">json_visit.h</a></td><td class="desc">Methods for walking a tree of objects </td></tr>
|
||||
<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="linkhash_8h.html" target="_self">linkhash.h</a></td><td class="desc">Internal methods for working with json_type_object objects. Although this is exposed by the <a class="el" href="json__object_8h.html#a2caa52ae1863bd073444f3737138a4db">json_object_get_object()</a> function and within the <a class="el" href="structjson__object__iter.html">json_object_iter</a> type, it is not recommended for direct use </td></tr>
|
||||
<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="math__compat_8h.html" target="_self">math_compat.h</a></td><td class="desc">Do not use, json-c internal, may be changed or removed at any time </td></tr>
|
||||
<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="printbuf_8h.html" target="_self">printbuf.h</a></td><td class="desc">Internal string buffer handing. Unless you're writing a json_object_to_json_string_fn implementation for use with <a class="el" href="json__object_8h.html#a889345512a214b8f78f6a73561523c7c">json_object_set_serializer()</a> direct use of this is not recommended </td></tr>
|
||||
<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="random__seed_8h.html" target="_self">random_seed.h</a></td><td class="desc">Do not use, json-c internal, may be changed or removed at any time </td></tr>
|
||||
<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="snprintf__compat_8h.html" target="_self">snprintf_compat.h</a></td><td class="desc">Do not use, json-c internal, may be changed or removed at any time </td></tr>
|
||||
<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="strdup__compat_8h.html" target="_self">strdup_compat.h</a></td><td class="desc">Do not use, json-c internal, may be changed or removed at any time </td></tr>
|
||||
<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="strerror__override_8h.html" target="_self">strerror_override.h</a></td><td class="desc">Do not use, json-c internal, may be changed or removed at any time </td></tr>
|
||||
<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="strerror__override__private_8h.html" target="_self">strerror_override_private.h</a></td><td class="desc">Do not use, json-c internal, may be changed or removed at any time </td></tr>
|
||||
<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="vasprintf__compat_8h.html" target="_self">vasprintf_compat.h</a></td><td class="desc">Do not use, json-c internal, may be changed or removed at any time </td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
|
Before Width: | Height: | Size: 616 B |
|
Before Width: | Height: | Size: 597 B |
|
Before Width: | Height: | Size: 86 B |
|
Before Width: | Height: | Size: 746 B |
|
Before Width: | Height: | Size: 616 B |
|
Before Width: | Height: | Size: 597 B |
|
Before Width: | Height: | Size: 86 B |
|
Before Width: | Height: | Size: 746 B |
|
Before Width: | Height: | Size: 246 B |
|
Before Width: | Height: | Size: 246 B |
|
Before Width: | Height: | Size: 86 B |
|
Before Width: | Height: | Size: 229 B |
|
Before Width: | Height: | Size: 229 B |
|
Before Width: | Height: | Size: 314 B |
|
Before Width: | Height: | Size: 86 B |
@@ -1,330 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Data Fields</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="functions.html"><span>Data Fields</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="functions.html"><span>All</span></a></li>
|
||||
<li><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="#index__"><span>_</span></a></li>
|
||||
<li><a href="#index_a"><span>a</span></a></li>
|
||||
<li><a href="#index_b"><span>b</span></a></li>
|
||||
<li><a href="#index_c"><span>c</span></a></li>
|
||||
<li><a href="#index_d"><span>d</span></a></li>
|
||||
<li><a href="#index_e"><span>e</span></a></li>
|
||||
<li><a href="#index_f"><span>f</span></a></li>
|
||||
<li><a href="#index_h"><span>h</span></a></li>
|
||||
<li><a href="#index_i"><span>i</span></a></li>
|
||||
<li><a href="#index_k"><span>k</span></a></li>
|
||||
<li><a href="#index_l"><span>l</span></a></li>
|
||||
<li><a href="#index_m"><span>m</span></a></li>
|
||||
<li><a href="#index_n"><span>n</span></a></li>
|
||||
<li><a href="#index_o"><span>o</span></a></li>
|
||||
<li><a href="#index_p"><span>p</span></a></li>
|
||||
<li><a href="#index_q"><span>q</span></a></li>
|
||||
<li><a href="#index_s"><span>s</span></a></li>
|
||||
<li><a href="#index_t"><span>t</span></a></li>
|
||||
<li><a href="#index_u"><span>u</span></a></li>
|
||||
<li class="current"><a href="#index_v"><span>v</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
|
||||
<li>_delete
|
||||
: <a class="el" href="structjson__object.html#a63666be714a8ce8907d56142c1d9dfb7">json_object</a>
|
||||
</li>
|
||||
<li>_pb
|
||||
: <a class="el" href="structjson__object.html#afdcaa9e24bce7c86c33cb6f6ae65cb56">json_object</a>
|
||||
</li>
|
||||
<li>_ref_count
|
||||
: <a class="el" href="structjson__object.html#aca9b93573ba6bb8cf66d87c170a575b2">json_object</a>
|
||||
</li>
|
||||
<li>_to_json_string
|
||||
: <a class="el" href="structjson__object.html#a077a02daac4653f91584dd7f47c3d632">json_object</a>
|
||||
</li>
|
||||
<li>_user_delete
|
||||
: <a class="el" href="structjson__object.html#ad9e57edb1cbd63578490081b2a9636ad">json_object</a>
|
||||
</li>
|
||||
<li>_userdata
|
||||
: <a class="el" href="structjson__object.html#a592a5391c3717ff7e8930476027226fe">json_object</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
|
||||
<li>array
|
||||
: <a class="el" href="structarray__list.html#a7ba65feda2b156148c08667cf155b657">array_list</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
|
||||
<li>bpos
|
||||
: <a class="el" href="structprintbuf.html#aba980ad7406329e32f557dfa0eb7b1b2">printbuf</a>
|
||||
</li>
|
||||
<li>buf
|
||||
: <a class="el" href="structprintbuf.html#a5d7cf8ac260f1f7c50fecaf9bd7bc651">printbuf</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
|
||||
<li>c_array
|
||||
: <a class="el" href="unionjson__object_1_1data.html#a4ad6bf2fd6d8718f55850509edfe2e45">json_object::data</a>
|
||||
</li>
|
||||
<li>c_boolean
|
||||
: <a class="el" href="unionjson__object_1_1data.html#a98a3964e5fb0b3a0e9d8786b8facde5c">json_object::data</a>
|
||||
</li>
|
||||
<li>c_double
|
||||
: <a class="el" href="unionjson__object_1_1data.html#a9cc4abdb21302913701ac0c8dc75e55a">json_object::data</a>
|
||||
</li>
|
||||
<li>c_int64
|
||||
: <a class="el" href="unionjson__object_1_1data.html#a7733181cdb631570913e3a2abfd6937c">json_object::data</a>
|
||||
</li>
|
||||
<li>c_object
|
||||
: <a class="el" href="unionjson__object_1_1data.html#a68089c942f154d4df590d8ecb476a69b">json_object::data</a>
|
||||
</li>
|
||||
<li>c_string
|
||||
: <a class="el" href="unionjson__object_1_1data.html#af9cd2e329ad7ab0a86b1b622290a663a">json_object::data</a>
|
||||
</li>
|
||||
<li>char_offset
|
||||
: <a class="el" href="structjson__tokener.html#a9daae2516fd6df23555d33ef01020a76">json_tokener</a>
|
||||
</li>
|
||||
<li>count
|
||||
: <a class="el" href="structlh__table.html#aa172ed8fe205367b54e0e2cdf9ea8c6c">lh_table</a>
|
||||
</li>
|
||||
<li>current
|
||||
: <a class="el" href="structjson__tokener__srec.html#a466f192f920368a5a6375aeba1e2757f">json_tokener_srec</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
|
||||
<li>data
|
||||
: <a class="el" href="unionjson__object_1_1data.html#aaa742eb1b88b4b25ec4c27431d1576d7">json_object::data</a>
|
||||
</li>
|
||||
<li>depth
|
||||
: <a class="el" href="structjson__tokener.html#ae0e5102b44cc1fc680be3e0fb5fff028">json_tokener</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
|
||||
<li>entry
|
||||
: <a class="el" href="structjson__object__iter.html#a64e326f050826c644c02ed5bcd214faa">json_object_iter</a>
|
||||
</li>
|
||||
<li>equal_fn
|
||||
: <a class="el" href="structlh__table.html#aa646c287a6a46e09da6c7457c981a359">lh_table</a>
|
||||
</li>
|
||||
<li>err
|
||||
: <a class="el" href="structjson__tokener.html#adef37cdc2578d8f8920db14315728cbd">json_tokener</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
|
||||
<li>flags
|
||||
: <a class="el" href="structjson__tokener.html#aabfdcf2825154108669ffa3f4ab9c4ea">json_tokener</a>
|
||||
</li>
|
||||
<li>free_fn
|
||||
: <a class="el" href="structarray__list.html#ab7989cdde357e5c7819c562c7680ab74">array_list</a>
|
||||
, <a class="el" href="structlh__table.html#a30ea5903f4f8126abd6aa489ffe14737">lh_table</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
|
||||
<li>hash_fn
|
||||
: <a class="el" href="structlh__table.html#a1488d1a4a320b1a9bb2f441859544be1">lh_table</a>
|
||||
</li>
|
||||
<li>head
|
||||
: <a class="el" href="structlh__table.html#aa7d986a3b12a9fa47e349713794c30fb">lh_table</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
|
||||
<li>is_double
|
||||
: <a class="el" href="structjson__tokener.html#ad3bf0aa728ea14549d5aa6ca8dcba070">json_tokener</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
|
||||
<li>k
|
||||
: <a class="el" href="structlh__entry.html#a79d9f1ef0dc444e17105aaeaf167e22c">lh_entry</a>
|
||||
</li>
|
||||
<li>k_is_constant
|
||||
: <a class="el" href="structlh__entry.html#a14f40cc124c32b03f81151ae7934d2e7">lh_entry</a>
|
||||
</li>
|
||||
<li>key
|
||||
: <a class="el" href="structjson__object__iter.html#a0b76228b3a039075e9d84f88fa72ff53">json_object_iter</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
|
||||
<li>len
|
||||
: <a class="el" href="unionjson__object_1_1data.html#ac2386853b8a4e7d0b28a27ed599ccef7">json_object::data</a>
|
||||
</li>
|
||||
<li>length
|
||||
: <a class="el" href="structarray__list.html#a5638022574f4ddb0f80d62535085bf4f">array_list</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
|
||||
<li>max_depth
|
||||
: <a class="el" href="structjson__tokener.html#a9d9b33c3982925349627dc6a3edca940">json_tokener</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
|
||||
<li>next
|
||||
: <a class="el" href="structlh__entry.html#a7c40c46e72d9a0ba071a8d49d535bc67">lh_entry</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
|
||||
<li>o
|
||||
: <a class="el" href="structjson__object.html#a33aff83ffea02b934235c4821cca8cf0">json_object</a>
|
||||
</li>
|
||||
<li>o_type
|
||||
: <a class="el" href="structjson__object.html#a28307a4a3fe6cefe27e28fec56b76b3e">json_object</a>
|
||||
</li>
|
||||
<li>obj
|
||||
: <a class="el" href="structjson__tokener__srec.html#ad2bb71affec1da5ba1d9952c3bf2c12a">json_tokener_srec</a>
|
||||
</li>
|
||||
<li>obj_field_name
|
||||
: <a class="el" href="structjson__tokener__srec.html#a99551c172e97ac2e7a3849a50b4f51ca">json_tokener_srec</a>
|
||||
</li>
|
||||
<li>opaque_
|
||||
: <a class="el" href="structjson__object__iterator.html#a69c61c14f5a36b1dc2217e49cd987f47">json_object_iterator</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
|
||||
<li>pb
|
||||
: <a class="el" href="structjson__tokener.html#a1cdc7f85d7bde95f81bb08b7e61d6684">json_tokener</a>
|
||||
</li>
|
||||
<li>prev
|
||||
: <a class="el" href="structlh__entry.html#a6fb9c3de01fb5af67d8d429921cc6a3b">lh_entry</a>
|
||||
</li>
|
||||
<li>ptr
|
||||
: <a class="el" href="unionjson__object_1_1data.html#ad3f2798f4679c5a3cc7f67a42365b71f">json_object::data</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
|
||||
<li>quote_char
|
||||
: <a class="el" href="structjson__tokener.html#aea488b73085ac7c5969ae7fc29e25fa0">json_tokener</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
|
||||
<li>saved_state
|
||||
: <a class="el" href="structjson__tokener__srec.html#a868b9912dbb1e4813a630c944f522d48">json_tokener_srec</a>
|
||||
</li>
|
||||
<li>size
|
||||
: <a class="el" href="structarray__list.html#a11b92f48ed715b187f8609351405342f">array_list</a>
|
||||
, <a class="el" href="structlh__table.html#ae251575ec2935bcb0e0589ca8e243839">lh_table</a>
|
||||
, <a class="el" href="structprintbuf.html#a12ce6440eaa06a55b96ebdc5a9778dd5">printbuf</a>
|
||||
</li>
|
||||
<li>st_pos
|
||||
: <a class="el" href="structjson__tokener.html#a8eed213c0a37d09c1df66c8567e44471">json_tokener</a>
|
||||
</li>
|
||||
<li>stack
|
||||
: <a class="el" href="structjson__tokener.html#a3521d62906eb0e15d07d7b4f64a5fac3">json_tokener</a>
|
||||
</li>
|
||||
<li>str
|
||||
: <a class="el" href="unionjson__object_1_1data.html#a51a177df2ef6d27590696975a4f4a7ee">json_object::data</a>
|
||||
, <a class="el" href="structjson__tokener.html#a9772e2170322a19d8da6ce5d7dc46895">json_tokener</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
|
||||
<li>table
|
||||
: <a class="el" href="structlh__table.html#a4fd9c5aba38791b26ab0ec614a5caf8f">lh_table</a>
|
||||
</li>
|
||||
<li>tail
|
||||
: <a class="el" href="structlh__table.html#a479895e45db2bdf9bf5d173fa4b7e277">lh_table</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
|
||||
<li>ucs_char
|
||||
: <a class="el" href="structjson__tokener.html#a32fa73e43fb760e6845231a8482eb064">json_tokener</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
|
||||
<li>v
|
||||
: <a class="el" href="structlh__entry.html#a1b676732ab2ad3eeaedf6ec60a6a0835">lh_entry</a>
|
||||
</li>
|
||||
<li>val
|
||||
: <a class="el" href="structjson__object__iter.html#aaae14a8d17aacddacb0a57234e0a4491">json_object_iter</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,330 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Data Fields - Variables</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="functions.html"><span>Data Fields</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="functions.html"><span>All</span></a></li>
|
||||
<li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="#index__"><span>_</span></a></li>
|
||||
<li><a href="#index_a"><span>a</span></a></li>
|
||||
<li><a href="#index_b"><span>b</span></a></li>
|
||||
<li><a href="#index_c"><span>c</span></a></li>
|
||||
<li><a href="#index_d"><span>d</span></a></li>
|
||||
<li><a href="#index_e"><span>e</span></a></li>
|
||||
<li><a href="#index_f"><span>f</span></a></li>
|
||||
<li><a href="#index_h"><span>h</span></a></li>
|
||||
<li><a href="#index_i"><span>i</span></a></li>
|
||||
<li><a href="#index_k"><span>k</span></a></li>
|
||||
<li><a href="#index_l"><span>l</span></a></li>
|
||||
<li><a href="#index_m"><span>m</span></a></li>
|
||||
<li><a href="#index_n"><span>n</span></a></li>
|
||||
<li><a href="#index_o"><span>o</span></a></li>
|
||||
<li><a href="#index_p"><span>p</span></a></li>
|
||||
<li><a href="#index_q"><span>q</span></a></li>
|
||||
<li><a href="#index_s"><span>s</span></a></li>
|
||||
<li><a href="#index_t"><span>t</span></a></li>
|
||||
<li><a href="#index_u"><span>u</span></a></li>
|
||||
<li class="current"><a href="#index_v"><span>v</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
 
|
||||
|
||||
<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
|
||||
<li>_delete
|
||||
: <a class="el" href="structjson__object.html#a63666be714a8ce8907d56142c1d9dfb7">json_object</a>
|
||||
</li>
|
||||
<li>_pb
|
||||
: <a class="el" href="structjson__object.html#afdcaa9e24bce7c86c33cb6f6ae65cb56">json_object</a>
|
||||
</li>
|
||||
<li>_ref_count
|
||||
: <a class="el" href="structjson__object.html#aca9b93573ba6bb8cf66d87c170a575b2">json_object</a>
|
||||
</li>
|
||||
<li>_to_json_string
|
||||
: <a class="el" href="structjson__object.html#a077a02daac4653f91584dd7f47c3d632">json_object</a>
|
||||
</li>
|
||||
<li>_user_delete
|
||||
: <a class="el" href="structjson__object.html#ad9e57edb1cbd63578490081b2a9636ad">json_object</a>
|
||||
</li>
|
||||
<li>_userdata
|
||||
: <a class="el" href="structjson__object.html#a592a5391c3717ff7e8930476027226fe">json_object</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
|
||||
<li>array
|
||||
: <a class="el" href="structarray__list.html#a7ba65feda2b156148c08667cf155b657">array_list</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
|
||||
<li>bpos
|
||||
: <a class="el" href="structprintbuf.html#aba980ad7406329e32f557dfa0eb7b1b2">printbuf</a>
|
||||
</li>
|
||||
<li>buf
|
||||
: <a class="el" href="structprintbuf.html#a5d7cf8ac260f1f7c50fecaf9bd7bc651">printbuf</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
|
||||
<li>c_array
|
||||
: <a class="el" href="unionjson__object_1_1data.html#a4ad6bf2fd6d8718f55850509edfe2e45">json_object::data</a>
|
||||
</li>
|
||||
<li>c_boolean
|
||||
: <a class="el" href="unionjson__object_1_1data.html#a98a3964e5fb0b3a0e9d8786b8facde5c">json_object::data</a>
|
||||
</li>
|
||||
<li>c_double
|
||||
: <a class="el" href="unionjson__object_1_1data.html#a9cc4abdb21302913701ac0c8dc75e55a">json_object::data</a>
|
||||
</li>
|
||||
<li>c_int64
|
||||
: <a class="el" href="unionjson__object_1_1data.html#a7733181cdb631570913e3a2abfd6937c">json_object::data</a>
|
||||
</li>
|
||||
<li>c_object
|
||||
: <a class="el" href="unionjson__object_1_1data.html#a68089c942f154d4df590d8ecb476a69b">json_object::data</a>
|
||||
</li>
|
||||
<li>c_string
|
||||
: <a class="el" href="unionjson__object_1_1data.html#af9cd2e329ad7ab0a86b1b622290a663a">json_object::data</a>
|
||||
</li>
|
||||
<li>char_offset
|
||||
: <a class="el" href="structjson__tokener.html#a9daae2516fd6df23555d33ef01020a76">json_tokener</a>
|
||||
</li>
|
||||
<li>count
|
||||
: <a class="el" href="structlh__table.html#aa172ed8fe205367b54e0e2cdf9ea8c6c">lh_table</a>
|
||||
</li>
|
||||
<li>current
|
||||
: <a class="el" href="structjson__tokener__srec.html#a466f192f920368a5a6375aeba1e2757f">json_tokener_srec</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
|
||||
<li>data
|
||||
: <a class="el" href="unionjson__object_1_1data.html#aaa742eb1b88b4b25ec4c27431d1576d7">json_object::data</a>
|
||||
</li>
|
||||
<li>depth
|
||||
: <a class="el" href="structjson__tokener.html#ae0e5102b44cc1fc680be3e0fb5fff028">json_tokener</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
|
||||
<li>entry
|
||||
: <a class="el" href="structjson__object__iter.html#a64e326f050826c644c02ed5bcd214faa">json_object_iter</a>
|
||||
</li>
|
||||
<li>equal_fn
|
||||
: <a class="el" href="structlh__table.html#aa646c287a6a46e09da6c7457c981a359">lh_table</a>
|
||||
</li>
|
||||
<li>err
|
||||
: <a class="el" href="structjson__tokener.html#adef37cdc2578d8f8920db14315728cbd">json_tokener</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
|
||||
<li>flags
|
||||
: <a class="el" href="structjson__tokener.html#aabfdcf2825154108669ffa3f4ab9c4ea">json_tokener</a>
|
||||
</li>
|
||||
<li>free_fn
|
||||
: <a class="el" href="structarray__list.html#ab7989cdde357e5c7819c562c7680ab74">array_list</a>
|
||||
, <a class="el" href="structlh__table.html#a30ea5903f4f8126abd6aa489ffe14737">lh_table</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
|
||||
<li>hash_fn
|
||||
: <a class="el" href="structlh__table.html#a1488d1a4a320b1a9bb2f441859544be1">lh_table</a>
|
||||
</li>
|
||||
<li>head
|
||||
: <a class="el" href="structlh__table.html#aa7d986a3b12a9fa47e349713794c30fb">lh_table</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
|
||||
<li>is_double
|
||||
: <a class="el" href="structjson__tokener.html#ad3bf0aa728ea14549d5aa6ca8dcba070">json_tokener</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
|
||||
<li>k
|
||||
: <a class="el" href="structlh__entry.html#a79d9f1ef0dc444e17105aaeaf167e22c">lh_entry</a>
|
||||
</li>
|
||||
<li>k_is_constant
|
||||
: <a class="el" href="structlh__entry.html#a14f40cc124c32b03f81151ae7934d2e7">lh_entry</a>
|
||||
</li>
|
||||
<li>key
|
||||
: <a class="el" href="structjson__object__iter.html#a0b76228b3a039075e9d84f88fa72ff53">json_object_iter</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
|
||||
<li>len
|
||||
: <a class="el" href="unionjson__object_1_1data.html#ac2386853b8a4e7d0b28a27ed599ccef7">json_object::data</a>
|
||||
</li>
|
||||
<li>length
|
||||
: <a class="el" href="structarray__list.html#a5638022574f4ddb0f80d62535085bf4f">array_list</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
|
||||
<li>max_depth
|
||||
: <a class="el" href="structjson__tokener.html#a9d9b33c3982925349627dc6a3edca940">json_tokener</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
|
||||
<li>next
|
||||
: <a class="el" href="structlh__entry.html#a7c40c46e72d9a0ba071a8d49d535bc67">lh_entry</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
|
||||
<li>o
|
||||
: <a class="el" href="structjson__object.html#a33aff83ffea02b934235c4821cca8cf0">json_object</a>
|
||||
</li>
|
||||
<li>o_type
|
||||
: <a class="el" href="structjson__object.html#a28307a4a3fe6cefe27e28fec56b76b3e">json_object</a>
|
||||
</li>
|
||||
<li>obj
|
||||
: <a class="el" href="structjson__tokener__srec.html#ad2bb71affec1da5ba1d9952c3bf2c12a">json_tokener_srec</a>
|
||||
</li>
|
||||
<li>obj_field_name
|
||||
: <a class="el" href="structjson__tokener__srec.html#a99551c172e97ac2e7a3849a50b4f51ca">json_tokener_srec</a>
|
||||
</li>
|
||||
<li>opaque_
|
||||
: <a class="el" href="structjson__object__iterator.html#a69c61c14f5a36b1dc2217e49cd987f47">json_object_iterator</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
|
||||
<li>pb
|
||||
: <a class="el" href="structjson__tokener.html#a1cdc7f85d7bde95f81bb08b7e61d6684">json_tokener</a>
|
||||
</li>
|
||||
<li>prev
|
||||
: <a class="el" href="structlh__entry.html#a6fb9c3de01fb5af67d8d429921cc6a3b">lh_entry</a>
|
||||
</li>
|
||||
<li>ptr
|
||||
: <a class="el" href="unionjson__object_1_1data.html#ad3f2798f4679c5a3cc7f67a42365b71f">json_object::data</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
|
||||
<li>quote_char
|
||||
: <a class="el" href="structjson__tokener.html#aea488b73085ac7c5969ae7fc29e25fa0">json_tokener</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
|
||||
<li>saved_state
|
||||
: <a class="el" href="structjson__tokener__srec.html#a868b9912dbb1e4813a630c944f522d48">json_tokener_srec</a>
|
||||
</li>
|
||||
<li>size
|
||||
: <a class="el" href="structarray__list.html#a11b92f48ed715b187f8609351405342f">array_list</a>
|
||||
, <a class="el" href="structlh__table.html#ae251575ec2935bcb0e0589ca8e243839">lh_table</a>
|
||||
, <a class="el" href="structprintbuf.html#a12ce6440eaa06a55b96ebdc5a9778dd5">printbuf</a>
|
||||
</li>
|
||||
<li>st_pos
|
||||
: <a class="el" href="structjson__tokener.html#a8eed213c0a37d09c1df66c8567e44471">json_tokener</a>
|
||||
</li>
|
||||
<li>stack
|
||||
: <a class="el" href="structjson__tokener.html#a3521d62906eb0e15d07d7b4f64a5fac3">json_tokener</a>
|
||||
</li>
|
||||
<li>str
|
||||
: <a class="el" href="unionjson__object_1_1data.html#a51a177df2ef6d27590696975a4f4a7ee">json_object::data</a>
|
||||
, <a class="el" href="structjson__tokener.html#a9772e2170322a19d8da6ce5d7dc46895">json_tokener</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
|
||||
<li>table
|
||||
: <a class="el" href="structlh__table.html#a4fd9c5aba38791b26ab0ec614a5caf8f">lh_table</a>
|
||||
</li>
|
||||
<li>tail
|
||||
: <a class="el" href="structlh__table.html#a479895e45db2bdf9bf5d173fa4b7e277">lh_table</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
|
||||
<li>ucs_char
|
||||
: <a class="el" href="structjson__tokener.html#a32fa73e43fb760e6845231a8482eb064">json_tokener</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
|
||||
<li>v
|
||||
: <a class="el" href="structlh__entry.html#a1b676732ab2ad3eeaedf6ec60a6a0835">lh_entry</a>
|
||||
</li>
|
||||
<li>val
|
||||
: <a class="el" href="structjson__object__iter.html#aaae14a8d17aacddacb0a57234e0a4491">json_object_iter</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,107 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="globals.html#index__"><span>_</span></a></li>
|
||||
<li><a href="globals_a.html#index_a"><span>a</span></a></li>
|
||||
<li><a href="globals_e.html#index_e"><span>e</span></a></li>
|
||||
<li><a href="globals_f.html#index_f"><span>f</span></a></li>
|
||||
<li><a href="globals_h.html#index_h"><span>h</span></a></li>
|
||||
<li><a href="globals_i.html#index_i"><span>i</span></a></li>
|
||||
<li><a href="globals_j.html#index_j"><span>j</span></a></li>
|
||||
<li><a href="globals_l.html#index_l"><span>l</span></a></li>
|
||||
<li><a href="globals_m.html#index_m"><span>m</span></a></li>
|
||||
<li><a href="globals_n.html#index_n"><span>n</span></a></li>
|
||||
<li><a href="globals_p.html#index_p"><span>p</span></a></li>
|
||||
<li><a href="globals_s.html#index_s"><span>s</span></a></li>
|
||||
<li><a href="globals_t.html#index_t"><span>t</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
|
||||
<li>__STRING
|
||||
: <a class="el" href="debug_8h.html#a375c4dc9f0fb338999de81aab826f9d6">debug.h</a>
|
||||
</li>
|
||||
<li>_json_c_set_last_err()
|
||||
: <a class="el" href="json__object__private_8h.html#a2b38dd2d14fbfa6585de5664b6d61c0c">json_object_private.h</a>
|
||||
</li>
|
||||
<li>_json_c_strerror()
|
||||
: <a class="el" href="strerror__override_8h.html#a2affa276d0d7b0a446105e324560576f">strerror_override.h</a>
|
||||
</li>
|
||||
<li>_json_c_strerror_enable
|
||||
: <a class="el" href="strerror__override__private_8h.html#ac00e7d4121efe4b2e6ad8961e35e88ba">strerror_override_private.h</a>
|
||||
</li>
|
||||
<li>_LH_INLINE
|
||||
: <a class="el" href="linkhash_8h.html#a77c5cddef96e6f1ab036ccf911783456">linkhash.h</a>
|
||||
</li>
|
||||
<li>_LH_UNCONST
|
||||
: <a class="el" href="linkhash_8h.html#afb856ed4a9bcfd090dde5151fa3ad9ae">linkhash.h</a>
|
||||
</li>
|
||||
<li>_printbuf_check_literal
|
||||
: <a class="el" href="printbuf_8h.html#ab009973c5e15aae191e610cd70752603">printbuf.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,122 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html#index__"><span>_</span></a></li>
|
||||
<li class="current"><a href="globals_a.html#index_a"><span>a</span></a></li>
|
||||
<li><a href="globals_e.html#index_e"><span>e</span></a></li>
|
||||
<li><a href="globals_f.html#index_f"><span>f</span></a></li>
|
||||
<li><a href="globals_h.html#index_h"><span>h</span></a></li>
|
||||
<li><a href="globals_i.html#index_i"><span>i</span></a></li>
|
||||
<li><a href="globals_j.html#index_j"><span>j</span></a></li>
|
||||
<li><a href="globals_l.html#index_l"><span>l</span></a></li>
|
||||
<li><a href="globals_m.html#index_m"><span>m</span></a></li>
|
||||
<li><a href="globals_n.html#index_n"><span>n</span></a></li>
|
||||
<li><a href="globals_p.html#index_p"><span>p</span></a></li>
|
||||
<li><a href="globals_s.html#index_s"><span>s</span></a></li>
|
||||
<li><a href="globals_t.html#index_t"><span>t</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
|
||||
<li>array_list
|
||||
: <a class="el" href="arraylist_8h.html#a6d6d32d8b026ea2025df519b9e90f44a">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_add()
|
||||
: <a class="el" href="arraylist_8h.html#a6e995608aa464244ff3184fb43574dc8">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_bsearch()
|
||||
: <a class="el" href="arraylist_8h.html#a8dae21354e818f13dbe4e952daec2669">arraylist.h</a>
|
||||
</li>
|
||||
<li>ARRAY_LIST_DEFAULT_SIZE
|
||||
: <a class="el" href="arraylist_8h.html#acd30d910b398421574eb1f59e78617f5">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_del_idx()
|
||||
: <a class="el" href="arraylist_8h.html#aecedd8601ee96e2fd8eff5d83fda89ab">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_free()
|
||||
: <a class="el" href="arraylist_8h.html#acd00fb70f7ca82f23b48b812c3498f67">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_free_fn
|
||||
: <a class="el" href="arraylist_8h.html#aad83e4ed3c8ea274e6f18459276d774b">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_get_idx()
|
||||
: <a class="el" href="arraylist_8h.html#a114f1af5b20b76a3dbb2d1d055006df8">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_length()
|
||||
: <a class="el" href="arraylist_8h.html#aa3bf90f47aa210032304b14e7ad09ef7">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_new()
|
||||
: <a class="el" href="arraylist_8h.html#a0d4bfac055dfd98e17296142abf4d894">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_put_idx()
|
||||
: <a class="el" href="arraylist_8h.html#a9f92076e9d8229f8a07e536dc286f811">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_sort()
|
||||
: <a class="el" href="arraylist_8h.html#afb67cc8e2e5c9be41c3e644536079169">arraylist.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,347 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="#index__"><span>_</span></a></li>
|
||||
<li><a href="#index_a"><span>a</span></a></li>
|
||||
<li><a href="#index_e"><span>e</span></a></li>
|
||||
<li><a href="#index_f"><span>f</span></a></li>
|
||||
<li><a href="#index_h"><span>h</span></a></li>
|
||||
<li><a href="#index_i"><span>i</span></a></li>
|
||||
<li><a href="#index_j"><span>j</span></a></li>
|
||||
<li><a href="#index_l"><span>l</span></a></li>
|
||||
<li><a href="#index_m"><span>m</span></a></li>
|
||||
<li><a href="#index_n"><span>n</span></a></li>
|
||||
<li><a href="#index_p"><span>p</span></a></li>
|
||||
<li><a href="#index_s"><span>s</span></a></li>
|
||||
<li class="current"><a href="#index_t"><span>t</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
 
|
||||
|
||||
<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
|
||||
<li>__STRING
|
||||
: <a class="el" href="debug_8h.html#a375c4dc9f0fb338999de81aab826f9d6">debug.h</a>
|
||||
</li>
|
||||
<li>_LH_INLINE
|
||||
: <a class="el" href="linkhash_8h.html#a77c5cddef96e6f1ab036ccf911783456">linkhash.h</a>
|
||||
</li>
|
||||
<li>_LH_UNCONST
|
||||
: <a class="el" href="linkhash_8h.html#afb856ed4a9bcfd090dde5151fa3ad9ae">linkhash.h</a>
|
||||
</li>
|
||||
<li>_printbuf_check_literal
|
||||
: <a class="el" href="printbuf_8h.html#ab009973c5e15aae191e610cd70752603">printbuf.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
|
||||
<li>ARRAY_LIST_DEFAULT_SIZE
|
||||
: <a class="el" href="arraylist_8h.html#acd30d910b398421574eb1f59e78617f5">arraylist.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
|
||||
<li>error_description
|
||||
: <a class="el" href="bits_8h.html#a45afe86501cd57ee2beeef9d67a4d40c">bits.h</a>
|
||||
</li>
|
||||
<li>error_ptr
|
||||
: <a class="el" href="bits_8h.html#a863a898e607f8c2ff87b7052e326740f">bits.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
|
||||
<li>FALSE
|
||||
: <a class="el" href="json__object_8h.html#aa93f0eb578d23995850d61f7d61c55c1">json_object.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
|
||||
<li>HAVE_DECL_INFINITY
|
||||
: <a class="el" href="math__compat_8h.html#a77914bc4c960d1bfda49328bd0646985">math_compat.h</a>
|
||||
</li>
|
||||
<li>HAVE_DECL_NAN
|
||||
: <a class="el" href="math__compat_8h.html#a9025492cba029d3e372532a1d012f119">math_compat.h</a>
|
||||
</li>
|
||||
<li>hexdigit
|
||||
: <a class="el" href="bits_8h.html#a1cf38b22d3a118ad48d9282c32c048aa">bits.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
|
||||
<li>INFINITY
|
||||
: <a class="el" href="math__compat_8h.html#a956e2723d559858d08644ac99146e910">math_compat.h</a>
|
||||
</li>
|
||||
<li>is_error
|
||||
: <a class="el" href="bits_8h.html#a4a887e5fb7cde221bcab9c6f39d93fc1">bits.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_j"></a>- j -</h3><ul>
|
||||
<li>JASSERT
|
||||
: <a class="el" href="debug_8h.html#a8ca29550d5b1b73948f4a7bce53f2385">debug.h</a>
|
||||
</li>
|
||||
<li>JSON_C_CONST_FUNCTION
|
||||
: <a class="el" href="json__object_8h.html#a878f59e029f19db79ff9eb41fdcf4c6d">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_MAJOR_VERSION
|
||||
: <a class="el" href="json__c__version_8h.html#a251c3e1f59a379a4a905382b4e855125">json_c_version.h</a>
|
||||
</li>
|
||||
<li>JSON_C_MICRO_VERSION
|
||||
: <a class="el" href="json__c__version_8h.html#a64457730097067ab096906d82e4a51a6">json_c_version.h</a>
|
||||
</li>
|
||||
<li>JSON_C_MINOR_VERSION
|
||||
: <a class="el" href="json__c__version_8h.html#adc87477fbc1c75848fe6b6feec21c2d6">json_c_version.h</a>
|
||||
</li>
|
||||
<li>JSON_C_OBJECT_ADD_KEY_IS_NEW
|
||||
: <a class="el" href="json__object_8h.html#a8cd01c484155ac99043a35b7c85ae411">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_OBJECT_KEY_IS_CONSTANT
|
||||
: <a class="el" href="json__object_8h.html#a134ffafc6116799a20134dc7646b5a37">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_OPTION_GLOBAL
|
||||
: <a class="el" href="json__object_8h.html#a45837b8c6564f9e605f8a2bc76243750">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_OPTION_THREAD
|
||||
: <a class="el" href="json__object_8h.html#a50d1490598fe476d7a53e204e02cdc9d">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_STR_HASH_DFLT
|
||||
: <a class="el" href="linkhash_8h.html#ac32e80138c5be6dd9b0483a9cbcc8799">linkhash.h</a>
|
||||
</li>
|
||||
<li>JSON_C_STR_HASH_PERLLIKE
|
||||
: <a class="el" href="linkhash_8h.html#a62316f34fd42941b97a8e9a6b6e68faa">linkhash.h</a>
|
||||
</li>
|
||||
<li>JSON_C_TO_STRING_NOSLASHESCAPE
|
||||
: <a class="el" href="json__object_8h.html#a5c11d72c55f3ab7c088f19e7bf118163">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_TO_STRING_NOZERO
|
||||
: <a class="el" href="json__object_8h.html#a34f027c147babf69fc530d088f2b49b0">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_TO_STRING_PLAIN
|
||||
: <a class="el" href="json__object_8h.html#a3294cb92765cdeb497cfd346644d1059">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_TO_STRING_PRETTY
|
||||
: <a class="el" href="json__object_8h.html#a2025bc677c35f130e117dfda5bf1ef73">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_TO_STRING_PRETTY_TAB
|
||||
: <a class="el" href="json__object_8h.html#afc1486af21f6b1653c6f523025bdfd3b">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_TO_STRING_SPACED
|
||||
: <a class="el" href="json__object_8h.html#aa821746c8668e6ad62bed90ec9e00103">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VERSION
|
||||
: <a class="el" href="json__c__version_8h.html#a894adda66a072bc3fd34ebe91a5aa7f4">json_c_version.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VERSION_NUM
|
||||
: <a class="el" href="json__c__version_8h.html#a78e176eee75ee6aed43c4d65ca4c5b44">json_c_version.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VISIT_RETURN_CONTINUE
|
||||
: <a class="el" href="json__visit_8h.html#a98b35e1ba1d52d41799dccbfd2c170a1">json_visit.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VISIT_RETURN_ERROR
|
||||
: <a class="el" href="json__visit_8h.html#abfacb0713b81c897a8ce5f37ff6ffb9c">json_visit.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VISIT_RETURN_POP
|
||||
: <a class="el" href="json__visit_8h.html#a327a21f1f1c6f84e7a13fbaaf4a51b13">json_visit.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VISIT_RETURN_SKIP
|
||||
: <a class="el" href="json__visit_8h.html#adc7ca60a79c4ae870d9463e41527c2a1">json_visit.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VISIT_RETURN_STOP
|
||||
: <a class="el" href="json__visit_8h.html#a5956f41bed48f90a127f9b37fad7ea97">json_visit.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VISIT_SECOND
|
||||
: <a class="el" href="json__visit_8h.html#ac5be4a96b99b724833943003715dfc1c">json_visit.h</a>
|
||||
</li>
|
||||
<li>JSON_EXPORT
|
||||
: <a class="el" href="json__object_8h.html#a2a31d5c00f3a4712f2d5d62aee66344e">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_FILE_BUF_SIZE
|
||||
: <a class="el" href="json__util_8h.html#a084b6afc8f7fbef88976aabe4aca7efd">json_util.h</a>
|
||||
</li>
|
||||
<li>json_max
|
||||
: <a class="el" href="json__util_8h.html#a57d63d199d4b9ea40359253618951300">json_util.h</a>
|
||||
</li>
|
||||
<li>json_min
|
||||
: <a class="el" href="json__util_8h.html#a3dde282dc23d0eaa3c4840df8dc262d4">json_util.h</a>
|
||||
</li>
|
||||
<li>JSON_OBJECT_DEF_HASH_ENTRIES
|
||||
: <a class="el" href="json__object_8h.html#a268a63dd1b2e6d81559e268a4529e9bf">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_foreach
|
||||
: <a class="el" href="json__object_8h.html#acf5f514a9e0061c10fc08055762639ee">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_foreachC
|
||||
: <a class="el" href="json__object_8h.html#a71f07006c12d78f7bbf4cb716a5af3a6">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_TOKENER_DEFAULT_DEPTH
|
||||
: <a class="el" href="json__tokener_8h.html#a5ccd346459feb66e4e0af32005360279">json_tokener.h</a>
|
||||
</li>
|
||||
<li>JSON_TOKENER_STRICT
|
||||
: <a class="el" href="json__tokener_8h.html#a72be595cb7e090c70b1d29feb1cbfb16">json_tokener.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
|
||||
<li>LEN_DIRECT_STRING_DATA
|
||||
: <a class="el" href="json__object__private_8h.html#a227adaf0073e17006f614190d414fa1a">json_object_private.h</a>
|
||||
</li>
|
||||
<li>LH_EMPTY
|
||||
: <a class="el" href="linkhash_8h.html#a93fad7f8ae44575dc89c9567859972d2">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_entry_k
|
||||
: <a class="el" href="linkhash_8h.html#a7579ce28b8366fc9b8656f14270aa3aa">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_entry_v
|
||||
: <a class="el" href="linkhash_8h.html#a0d4052ccfd8c5d351a9c1d3ba07671b3">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_foreach
|
||||
: <a class="el" href="linkhash_8h.html#ad7dd67da915065dce2c6f44cb03e2d82">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_foreach_safe
|
||||
: <a class="el" href="linkhash_8h.html#abcbb0df08b4976d0649b826b6bacfca1">linkhash.h</a>
|
||||
</li>
|
||||
<li>LH_FREED
|
||||
: <a class="el" href="linkhash_8h.html#ac69428f2de0a6fb080b6fb373d506aa7">linkhash.h</a>
|
||||
</li>
|
||||
<li>LH_LOAD_FACTOR
|
||||
: <a class="el" href="linkhash_8h.html#a66b61772c29d85eb52b697e0b0dc0aaf">linkhash.h</a>
|
||||
</li>
|
||||
<li>LH_PRIME
|
||||
: <a class="el" href="linkhash_8h.html#a032f1bd115df254dda325437203ce5fb">linkhash.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
|
||||
<li>MC_DEBUG
|
||||
: <a class="el" href="debug_8h.html#afda355b35d18bf2e6a2a22d5c8eef42c">debug.h</a>
|
||||
</li>
|
||||
<li>MC_ERROR
|
||||
: <a class="el" href="debug_8h.html#a11ba39cecbe449af5b86fa2f78e9da9d">debug.h</a>
|
||||
</li>
|
||||
<li>MC_GET_DEBUG
|
||||
: <a class="el" href="debug_8h.html#acb272a4b4444b69cd995236f167f90ba">debug.h</a>
|
||||
</li>
|
||||
<li>MC_INFO
|
||||
: <a class="el" href="debug_8h.html#a5ef640ce1e9e61c5f6632aefbbfa0041">debug.h</a>
|
||||
</li>
|
||||
<li>MC_SET_DEBUG
|
||||
: <a class="el" href="debug_8h.html#a50f21a239fa040a10ad4cfdb4278b02b">debug.h</a>
|
||||
</li>
|
||||
<li>MC_SET_SYSLOG
|
||||
: <a class="el" href="debug_8h.html#acf1e895cb5eb7f334cbe51901e6bb918">debug.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
|
||||
<li>NAN
|
||||
: <a class="el" href="math__compat_8h.html#a8abfcc76130f3f991d124dd22d7e69bc">math_compat.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
|
||||
<li>PRId64
|
||||
: <a class="el" href="json__inttypes_8h.html#ae372e90b62c1e8b51dc5d95bf7f5ba48">json_inttypes.h</a>
|
||||
</li>
|
||||
<li>printbuf_length
|
||||
: <a class="el" href="printbuf_8h.html#acdd84ad88987c0166b7ba0e3f1f8f1bb">printbuf.h</a>
|
||||
</li>
|
||||
<li>printbuf_memappend_fast
|
||||
: <a class="el" href="printbuf_8h.html#a6f3a4dc87fab41c37e3eff42f40dc346">printbuf.h</a>
|
||||
</li>
|
||||
<li>printbuf_strappend
|
||||
: <a class="el" href="printbuf_8h.html#a2f30492682f5fbc59a8749b428e0e4ba">printbuf.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
|
||||
<li>SCNd64
|
||||
: <a class="el" href="json__inttypes_8h.html#ae7044b3fb4cc5cde22155d59437c348f">json_inttypes.h</a>
|
||||
</li>
|
||||
<li>strerror
|
||||
: <a class="el" href="strerror__override_8h.html#a9dae36435b1668856ec610d6d5238754">strerror_override.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
|
||||
<li>THIS_FUNCTION_IS_DEPRECATED
|
||||
: <a class="el" href="json__object_8h.html#a84fa70b86686ce202058f63905c90078">json_object.h</a>
|
||||
</li>
|
||||
<li>TRUE
|
||||
: <a class="el" href="json__object_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">json_object.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,92 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html#index__"><span>_</span></a></li>
|
||||
<li><a href="globals_a.html#index_a"><span>a</span></a></li>
|
||||
<li class="current"><a href="globals_e.html#index_e"><span>e</span></a></li>
|
||||
<li><a href="globals_f.html#index_f"><span>f</span></a></li>
|
||||
<li><a href="globals_h.html#index_h"><span>h</span></a></li>
|
||||
<li><a href="globals_i.html#index_i"><span>i</span></a></li>
|
||||
<li><a href="globals_j.html#index_j"><span>j</span></a></li>
|
||||
<li><a href="globals_l.html#index_l"><span>l</span></a></li>
|
||||
<li><a href="globals_m.html#index_m"><span>m</span></a></li>
|
||||
<li><a href="globals_n.html#index_n"><span>n</span></a></li>
|
||||
<li><a href="globals_p.html#index_p"><span>p</span></a></li>
|
||||
<li><a href="globals_s.html#index_s"><span>s</span></a></li>
|
||||
<li><a href="globals_t.html#index_t"><span>t</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
|
||||
<li>error_description
|
||||
: <a class="el" href="bits_8h.html#a45afe86501cd57ee2beeef9d67a4d40c">bits.h</a>
|
||||
</li>
|
||||
<li>error_ptr
|
||||
: <a class="el" href="bits_8h.html#a863a898e607f8c2ff87b7052e326740f">bits.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,76 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
 <ul>
|
||||
<li>json_tokener_error
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_type
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06c">json_object.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,215 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li class="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="#index_j"><span>j</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
 
|
||||
|
||||
<h3><a class="anchor" id="index_j"></a>- j -</h3><ul>
|
||||
<li>json_tokener_continue
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a9b26e920ca765df91c84e999561d8fb0">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_depth
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a59b2c36d9cc30c3038e09b9ddee6c86c">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_array
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a574846740b785146f164a209dc89574e">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_boolean
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59addbdfe084e20709da3d20c8ae8ca278c">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_comment
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a3588c05b1da8b909a8cbdef66b0a1a28">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_eof
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a8f774f4c7869afdd9b92295fca3a9ded">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_null
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a641bbb8d881fdd1e463f20a1a203b77c">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_number
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59ab1b3ad685eb97235d269cc5b9eb7ab81">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_object_key_name
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a2003bd8e96c6680cd22419c5ceafd4c0">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_object_key_sep
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59af91a2a819b0d6344d6d4e1d2579f28fd">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_object_value_sep
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a9ddb98741aebf7ac44735b4a43717013">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_string
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a033ce89ce7b8f9e591e4bea92121c4c7">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_unexpected
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a3309fa8ea4ab3ee0a81c55b69d223710">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_size
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a1eeed74de65c0c12c9f9c28cf4f3ff1d">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_array
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ab3d763300f1914865be09d603ddc11f4">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_array_add
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2aa2a01798ebe318ea91c38a886418f771">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_array_after_sep
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ab1a0ad626ec662c1ba4fb5bfee1cd0a9">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_array_sep
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a4ec7762aeab3424cbb14354c94025865">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_boolean
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a3525b15ecd0a698281b3914115b6bd3e">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_comment
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a8c2680b8873a8dce85f0b1ac25882dc9">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_comment_end
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a62cef297a37a98b1239ea4bbd39723e1">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_comment_eol
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ad8151350b1ef50298bafbab244ac1162">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_comment_start
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a0ff1d1935d49188aa1e6b998d43e655c">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_eatws
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a9db152607ec1872a000f1fcd8757297d">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_escape_unicode
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a6c852da2e694be56799c58c201d6dca0">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_finish
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ad80b689cb709967b67a348de3d8601d2">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_inf
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ab9f6244bfca4924db61ed3050c780b53">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_null
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a668fb2654c59608945370003403a5792">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_number
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a7ce18d281d322af690b45f3b8b599e81">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_object_field
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a77375940a10806e81d99876d13be67fc">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_object_field_end
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a0220aea1d9204aadfffde92c7f73f5f7">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_object_field_start
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a8c7dbda177a5d83a36a64f7cb99b9a29">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_object_field_start_after_sep
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a3a2c9cf26d076936a10a6ae3ca4eb523">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_object_sep
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2adaf3e06c5fc04fd4f04040cd67698215">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_object_value
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a4c7b7deac37355491572f6da84f208aa">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_object_value_add
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ade6bee72f2147e634b19eb84e58eb162">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_start
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a7c4c0bed1ebde45f5a99de4278792d72">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_string
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2aa90ea4c327a285bfbbce49d42d491d65">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_string_escape
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a1cf793d73587f68c4f2b3b4f65ff728e">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_success
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59afe2fa9bde03155019b2df30f66a5fcd0">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_type_array
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06cae536c8c9da4648e6b9348abddde6113c">json_object.h</a>
|
||||
</li>
|
||||
<li>json_type_boolean
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06ca5d15299e90dbb9935ff6d3e2c22a285c">json_object.h</a>
|
||||
</li>
|
||||
<li>json_type_double
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06cac6ac2d9a16577d00210fea64d16b47cd">json_object.h</a>
|
||||
</li>
|
||||
<li>json_type_int
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06ca7bf325c213b43c5f970ae2d4443ab956">json_object.h</a>
|
||||
</li>
|
||||
<li>json_type_null
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06ca127e62d156e13517471fcde3378979c1">json_object.h</a>
|
||||
</li>
|
||||
<li>json_type_object
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06cac966c8008f0b2c07da59ee8a60ad440f">json_object.h</a>
|
||||
</li>
|
||||
<li>json_type_string
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06cac9f56e57c09245522d764015a054faa6">json_object.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,89 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html#index__"><span>_</span></a></li>
|
||||
<li><a href="globals_a.html#index_a"><span>a</span></a></li>
|
||||
<li><a href="globals_e.html#index_e"><span>e</span></a></li>
|
||||
<li class="current"><a href="globals_f.html#index_f"><span>f</span></a></li>
|
||||
<li><a href="globals_h.html#index_h"><span>h</span></a></li>
|
||||
<li><a href="globals_i.html#index_i"><span>i</span></a></li>
|
||||
<li><a href="globals_j.html#index_j"><span>j</span></a></li>
|
||||
<li><a href="globals_l.html#index_l"><span>l</span></a></li>
|
||||
<li><a href="globals_m.html#index_m"><span>m</span></a></li>
|
||||
<li><a href="globals_n.html#index_n"><span>n</span></a></li>
|
||||
<li><a href="globals_p.html#index_p"><span>p</span></a></li>
|
||||
<li><a href="globals_s.html#index_s"><span>s</span></a></li>
|
||||
<li><a href="globals_t.html#index_t"><span>t</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
|
||||
<li>FALSE
|
||||
: <a class="el" href="json__object_8h.html#aa93f0eb578d23995850d61f7d61c55c1">json_object.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,479 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html"><span>All</span></a></li>
|
||||
<li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="#index__"><span>_</span></a></li>
|
||||
<li><a href="#index_a"><span>a</span></a></li>
|
||||
<li><a href="#index_j"><span>j</span></a></li>
|
||||
<li><a href="#index_l"><span>l</span></a></li>
|
||||
<li><a href="#index_m"><span>m</span></a></li>
|
||||
<li><a href="#index_p"><span>p</span></a></li>
|
||||
<li class="current"><a href="#index_s"><span>s</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
 
|
||||
|
||||
<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
|
||||
<li>_json_c_set_last_err()
|
||||
: <a class="el" href="json__object__private_8h.html#a2b38dd2d14fbfa6585de5664b6d61c0c">json_object_private.h</a>
|
||||
</li>
|
||||
<li>_json_c_strerror()
|
||||
: <a class="el" href="strerror__override_8h.html#a2affa276d0d7b0a446105e324560576f">strerror_override.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
|
||||
<li>array_list_add()
|
||||
: <a class="el" href="arraylist_8h.html#a6e995608aa464244ff3184fb43574dc8">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_bsearch()
|
||||
: <a class="el" href="arraylist_8h.html#a8dae21354e818f13dbe4e952daec2669">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_del_idx()
|
||||
: <a class="el" href="arraylist_8h.html#aecedd8601ee96e2fd8eff5d83fda89ab">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_free()
|
||||
: <a class="el" href="arraylist_8h.html#acd00fb70f7ca82f23b48b812c3498f67">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_get_idx()
|
||||
: <a class="el" href="arraylist_8h.html#a114f1af5b20b76a3dbb2d1d055006df8">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_length()
|
||||
: <a class="el" href="arraylist_8h.html#aa3bf90f47aa210032304b14e7ad09ef7">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_new()
|
||||
: <a class="el" href="arraylist_8h.html#a0d4bfac055dfd98e17296142abf4d894">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_put_idx()
|
||||
: <a class="el" href="arraylist_8h.html#a9f92076e9d8229f8a07e536dc286f811">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_sort()
|
||||
: <a class="el" href="arraylist_8h.html#afb67cc8e2e5c9be41c3e644536079169">arraylist.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_j"></a>- j -</h3><ul>
|
||||
<li>JSON_C_CONST_FUNCTION()
|
||||
: <a class="el" href="json__object_8h.html#a922b2d76c73da57174beec82d471743b">json_object.h</a>
|
||||
</li>
|
||||
<li>json_c_get_random_seed()
|
||||
: <a class="el" href="random__seed_8h.html#ae190c6819d7687e110d6ec59a16d006f">random_seed.h</a>
|
||||
</li>
|
||||
<li>json_c_set_serialization_double_format()
|
||||
: <a class="el" href="json__object_8h.html#a865a9a3f897eb64a0354c21b972e8187">json_object.h</a>
|
||||
</li>
|
||||
<li>json_c_version()
|
||||
: <a class="el" href="json__c__version_8h.html#a536b398f292b0669fc824a8486131a27">json_c_version.h</a>
|
||||
</li>
|
||||
<li>json_c_version_num()
|
||||
: <a class="el" href="json__c__version_8h.html#a114bcfed9594f3cd662e43454000938d">json_c_version.h</a>
|
||||
</li>
|
||||
<li>json_c_visit()
|
||||
: <a class="el" href="json__visit_8h.html#ac13d0e2e7bf34cd1be6eee3f0f112045">json_visit.h</a>
|
||||
</li>
|
||||
<li>json_global_set_string_hash()
|
||||
: <a class="el" href="linkhash_8h.html#ac8e1d61af44d9c0824d8c7980385bcd3">linkhash.h</a>
|
||||
</li>
|
||||
<li>json_object_array_add()
|
||||
: <a class="el" href="json__object_8h.html#a18cdd9a7455e09f36cdf6e5756b7f586">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_array_bsearch()
|
||||
: <a class="el" href="json__object_8h.html#aed353084ed3ad84e7b7575afbe7e719d">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_array_del_idx()
|
||||
: <a class="el" href="json__object_8h.html#a722eca9f578704d3af38b97549242c1f">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_array_get_idx()
|
||||
: <a class="el" href="json__object_8h.html#a676711a76545d4ec65cc75f100f5fd19">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_array_length()
|
||||
: <a class="el" href="json__object_8h.html#ab9ea8f9c72d5adf83fdcbfe69f97fa44">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_array_put_idx()
|
||||
: <a class="el" href="json__object_8h.html#a1ac0ccdbc13a25da7d8b2dc9e421dfad">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_array_sort()
|
||||
: <a class="el" href="json__object_8h.html#a5584e2f2051cd1faa7fafd07ba888fd1">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_deep_copy()
|
||||
: <a class="el" href="json__object_8h.html#aaac16505f13bc56accfad82604d8bcdc">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_double_to_json_string()
|
||||
: <a class="el" href="json__object_8h.html#ada262c62364e3819b6a64b1e3a632336">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_equal()
|
||||
: <a class="el" href="json__object_8h.html#a5a1d4640525e0217059868e312f20579">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_from_fd()
|
||||
: <a class="el" href="json__util_8h.html#a62ba7e0f43eb72c418654acf4e263aa6">json_util.h</a>
|
||||
</li>
|
||||
<li>json_object_from_file()
|
||||
: <a class="el" href="json__util_8h.html#a8fa0bba6b7ddb149a2159d99bae709ce">json_util.h</a>
|
||||
</li>
|
||||
<li>json_object_get()
|
||||
: <a class="el" href="json__object_8h.html#a675aa3a9cced685dbfd1c1a770a0c3e4">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_array()
|
||||
: <a class="el" href="json__object_8h.html#a23d20e3f886c1638a7116be66b7b5ec2">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_boolean()
|
||||
: <a class="el" href="json__object_8h.html#ac003fb99db7ecd674bb16d983d2f92ee">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_double()
|
||||
: <a class="el" href="json__object_8h.html#a94a70cff6a14398b581b7b10b0792c5b">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_int()
|
||||
: <a class="el" href="json__object_8h.html#a8c56dc58a02f92cd6789ba5dcb9fe7b1">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_int64()
|
||||
: <a class="el" href="json__object_8h.html#a1a14750b3af4df18ec8dc93b090a8e8a">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_object()
|
||||
: <a class="el" href="json__object_8h.html#a2caa52ae1863bd073444f3737138a4db">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_string()
|
||||
: <a class="el" href="json__object_8h.html#a9ee29ca8d79896e15007131527f6002e">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_string_len()
|
||||
: <a class="el" href="json__object_8h.html#ac1d1f95a27a5e5d93bb66a8adfc1a2f4">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_type()
|
||||
: <a class="el" href="json__object_8h.html#af256a3a7910e271a2b9735e5044c3827">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_userdata()
|
||||
: <a class="el" href="json__object_8h.html#ae925f3ec0f61cba5ea3dd50e0315f194">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_int_inc()
|
||||
: <a class="el" href="json__object_8h.html#a25691322b2d1ab24a3797e5752eb659f">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_is_type()
|
||||
: <a class="el" href="json__object_8h.html#a8ab506a3d8f4ba5eb6a12ce0a6bbd37b">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_iter_begin()
|
||||
: <a class="el" href="json__object__iterator_8h.html#a925eb97b5aa5b64986a0f663f53cf0fa">json_object_iterator.h</a>
|
||||
</li>
|
||||
<li>json_object_iter_end()
|
||||
: <a class="el" href="json__object__iterator_8h.html#a1fa3784395fb14496e3f1a1633028fd4">json_object_iterator.h</a>
|
||||
</li>
|
||||
<li>json_object_iter_equal()
|
||||
: <a class="el" href="json__object__iterator_8h.html#a878ca25f72b339882aa2607ac938e79c">json_object_iterator.h</a>
|
||||
</li>
|
||||
<li>json_object_iter_init_default()
|
||||
: <a class="el" href="json__object__iterator_8h.html#af30f56ca510d59da42e5592f9a436c10">json_object_iterator.h</a>
|
||||
</li>
|
||||
<li>json_object_iter_next()
|
||||
: <a class="el" href="json__object__iterator_8h.html#aa98a310c340f6d9b4eeecb673aa5e240">json_object_iterator.h</a>
|
||||
</li>
|
||||
<li>json_object_iter_peek_name()
|
||||
: <a class="el" href="json__object__iterator_8h.html#af17775b9b812a4206a84e4d3fb5774ab">json_object_iterator.h</a>
|
||||
</li>
|
||||
<li>json_object_iter_peek_value()
|
||||
: <a class="el" href="json__object__iterator_8h.html#a47b0af7f1722c10475dffd29efc0b89d">json_object_iterator.h</a>
|
||||
</li>
|
||||
<li>json_object_new_array()
|
||||
: <a class="el" href="json__object_8h.html#a84f7f8c0774c4600d958561d7548d649">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_boolean()
|
||||
: <a class="el" href="json__object_8h.html#a2e290acd80e72cca745f89fb4600fb78">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_double()
|
||||
: <a class="el" href="json__object_8h.html#a594a093bafb9091f843da3197e0638aa">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_double_s()
|
||||
: <a class="el" href="json__object_8h.html#ae49671c026fe1ada370a75321e4e65f6">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_int()
|
||||
: <a class="el" href="json__object_8h.html#ae92f0770fb4b3c884ce35de52d3d7de8">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_int64()
|
||||
: <a class="el" href="json__object_8h.html#a7847f74494645c2b076505c37cc4cb93">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_object()
|
||||
: <a class="el" href="json__object_8h.html#a68c383f54544fca19b5f2425be397600">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_string()
|
||||
: <a class="el" href="json__object_8h.html#a7b7b5302b3903c9347eeb1f4a64d657b">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_string_len()
|
||||
: <a class="el" href="json__object_8h.html#a190e9bea8c39b257af69d392dd2ddffb">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_add()
|
||||
: <a class="el" href="json__object_8h.html#a27bd808a022251059a43f1f6370441cd">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_add_ex()
|
||||
: <a class="el" href="json__object_8h.html#a57d3e444dd7db6b4510d21bf3716a002">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_del()
|
||||
: <a class="el" href="json__object_8h.html#ac6605fdafca20bd5d33c84f4f80a3bda">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_get()
|
||||
: <a class="el" href="json__object_8h.html#a1a097805abb53b4c8a60d573730a8939">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_get_ex()
|
||||
: <a class="el" href="json__object_8h.html#a90d5f16d58636f01d2ed1a6030c7366a">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_length()
|
||||
: <a class="el" href="json__object_8h.html#ad59a0ad2ec914a5eef90af53acae06d9">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_put()
|
||||
: <a class="el" href="json__object_8h.html#afabf61f932cd64a4122ca8092452eed5">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_boolean()
|
||||
: <a class="el" href="json__object_8h.html#a23863c1503f3a8dd8a460a6405da0a65">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_double()
|
||||
: <a class="el" href="json__object_8h.html#a3a7b7ce585565558cb69dad8d45d7757">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_int()
|
||||
: <a class="el" href="json__object_8h.html#a4ab3568f12e01fd2967e765a72456caa">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_int64()
|
||||
: <a class="el" href="json__object_8h.html#a7d3948600dde732abed0e261264ef53a">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_serializer()
|
||||
: <a class="el" href="json__object_8h.html#a889345512a214b8f78f6a73561523c7c">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_string()
|
||||
: <a class="el" href="json__object_8h.html#ac35013e51cdc0651512801c947df431c">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_string_len()
|
||||
: <a class="el" href="json__object_8h.html#ae48707a0c8689e14aaa3a9b831db27fc">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_userdata()
|
||||
: <a class="el" href="json__object_8h.html#a4ee4281ccd123c62878e931a0a3bc43b">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_to_fd()
|
||||
: <a class="el" href="json__util_8h.html#adc52c3b220effc880270f095cd748433">json_util.h</a>
|
||||
</li>
|
||||
<li>json_object_to_file()
|
||||
: <a class="el" href="json__util_8h.html#abbd121df84ec3878a5cb8fefaff12ec7">json_util.h</a>
|
||||
</li>
|
||||
<li>json_object_to_file_ext()
|
||||
: <a class="el" href="json__util_8h.html#a4e980954930951bf790c1ec3ba68fb76">json_util.h</a>
|
||||
</li>
|
||||
<li>json_object_to_json_string()
|
||||
: <a class="el" href="json__object_8h.html#ab7390c22baa1700d977c2af6b22d43a4">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_to_json_string_ext()
|
||||
: <a class="el" href="json__object_8h.html#a9db613127bd4ef7db42307e43a85fc1b">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_to_json_string_length()
|
||||
: <a class="el" href="json__object_8h.html#add3770a3ba3d01a8f9adedfcd6bd8dbb">json_object.h</a>
|
||||
</li>
|
||||
<li>json_parse_double()
|
||||
: <a class="el" href="json__util_8h.html#a6b5790c15178b6ea97841fc5868b1e1a">json_util.h</a>
|
||||
</li>
|
||||
<li>json_parse_int64()
|
||||
: <a class="el" href="json__util_8h.html#a9bb9882ef2859ca2c1ee17805679bc25">json_util.h</a>
|
||||
</li>
|
||||
<li>json_pointer_get()
|
||||
: <a class="el" href="json__pointer_8h.html#abf47f34be3386a5eb510604f05ae9491">json_pointer.h</a>
|
||||
</li>
|
||||
<li>json_pointer_getf()
|
||||
: <a class="el" href="json__pointer_8h.html#ae7eb2cab2f6f50c51053430223a01438">json_pointer.h</a>
|
||||
</li>
|
||||
<li>json_pointer_set()
|
||||
: <a class="el" href="json__pointer_8h.html#ab06a9fd172593748b2dc8d3a11c74fa0">json_pointer.h</a>
|
||||
</li>
|
||||
<li>json_pointer_setf()
|
||||
: <a class="el" href="json__pointer_8h.html#a74edfbe357c7428b1a20ae73e3910ac0">json_pointer.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_desc()
|
||||
: <a class="el" href="json__tokener_8h.html#a04c5625212aed3216cc303429e47f642">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_free()
|
||||
: <a class="el" href="json__tokener_8h.html#a887c4661906fc6b36cc366304e522534">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_get_error()
|
||||
: <a class="el" href="json__tokener_8h.html#af5d7ffd95a0f6e5d5bb5994d233b4197">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_new()
|
||||
: <a class="el" href="json__tokener_8h.html#a5ac7e2c350bc592cf2fa7b9935b00ef5">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_new_ex()
|
||||
: <a class="el" href="json__tokener_8h.html#a6a1583ddd434e13515d6232de813462e">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_parse()
|
||||
: <a class="el" href="json__tokener_8h.html#a236ef64d079822a4411d13eae7190c4d">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_parse_ex()
|
||||
: <a class="el" href="json__tokener_8h.html#a61679f178111963a9ffa3c8179553f7a">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_parse_verbose()
|
||||
: <a class="el" href="json__tokener_8h.html#a735f2dc755d57ed5c5b807aaaaef3b14">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_reset()
|
||||
: <a class="el" href="json__tokener_8h.html#a238649a59737be5152d525aeaf4153ab">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_set_flags()
|
||||
: <a class="el" href="json__tokener_8h.html#a7e7a0c0c9dc79e5e47b2608bb8aad7b7">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_type_to_name()
|
||||
: <a class="el" href="json__util_8h.html#a74031a1b948dc9fed3f367ea6ce78389">json_util.h</a>
|
||||
</li>
|
||||
<li>json_util_get_last_err()
|
||||
: <a class="el" href="json__util_8h.html#a811b1a5a7544337811a44c26fbe88761">json_util.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
|
||||
<li>lh_abort()
|
||||
: <a class="el" href="linkhash_8h.html#a1294160fa0e80cee04cd745a401f43a4">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_kchar_table_new()
|
||||
: <a class="el" href="linkhash_8h.html#a6bf630754affe92612639542a6c49c3f">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_kptr_table_new()
|
||||
: <a class="el" href="linkhash_8h.html#af8108563b961dbf5471fe2c0e51f40a5">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_delete()
|
||||
: <a class="el" href="linkhash_8h.html#a2fed2c78f70d229edb2d00775ffe593c">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_delete_entry()
|
||||
: <a class="el" href="linkhash_8h.html#ae5885a71c3457190fb1dc2d6e20dde3b">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_free()
|
||||
: <a class="el" href="linkhash_8h.html#a81653acf740cf8c9fe672e6cd16df0cf">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_insert()
|
||||
: <a class="el" href="linkhash_8h.html#a86c0cd547be1e2c2486a73bd58e1352c">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_insert_w_hash()
|
||||
: <a class="el" href="linkhash_8h.html#a4558a9347a422e03a15b0b7a29b82dc3">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_length()
|
||||
: <a class="el" href="linkhash_8h.html#ac9ba631c91fe80fb905f04c7cd526f2b">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_lookup()
|
||||
: <a class="el" href="linkhash_8h.html#a49c27f18a174eaf126d1b7953df13cb1">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_lookup_entry()
|
||||
: <a class="el" href="linkhash_8h.html#ad3b6ca2d967a6c3021ee6c39e014a918">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_lookup_entry_w_hash()
|
||||
: <a class="el" href="linkhash_8h.html#a59ecaf34ef59280952f4459b2de63677">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_lookup_ex()
|
||||
: <a class="el" href="linkhash_8h.html#a81c270bb0dd9d5c8a3e7ae20bc4d67f3">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_new()
|
||||
: <a class="el" href="linkhash_8h.html#a9c4f8a71dbe4d3390d9f7adb331beb0e">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_resize()
|
||||
: <a class="el" href="linkhash_8h.html#a30c8414e31aeee7669acc938116d933f">linkhash.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
|
||||
<li>mc_debug()
|
||||
: <a class="el" href="debug_8h.html#a600cf4cbbe19c0c15ca3710210e35aba">debug.h</a>
|
||||
</li>
|
||||
<li>mc_error()
|
||||
: <a class="el" href="debug_8h.html#abf22ea3a331c7ff21c23da91a07c7cb2">debug.h</a>
|
||||
</li>
|
||||
<li>mc_get_debug()
|
||||
: <a class="el" href="debug_8h.html#a3b3ab3ae8b438384fb109a2e38646b6e">debug.h</a>
|
||||
</li>
|
||||
<li>mc_info()
|
||||
: <a class="el" href="debug_8h.html#acbb92996a994e316ff65ed3a026e12a4">debug.h</a>
|
||||
</li>
|
||||
<li>mc_set_debug()
|
||||
: <a class="el" href="debug_8h.html#af65a73617b71476020a005b20bf02726">debug.h</a>
|
||||
</li>
|
||||
<li>mc_set_syslog()
|
||||
: <a class="el" href="debug_8h.html#aadb888da410116384e75a00db30da705">debug.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
|
||||
<li>printbuf_free()
|
||||
: <a class="el" href="printbuf_8h.html#ab525221c767ac65c58ddeea8a655a4e8">printbuf.h</a>
|
||||
</li>
|
||||
<li>printbuf_memappend()
|
||||
: <a class="el" href="printbuf_8h.html#a22f09779a19db59a83e7cb8c2ce4c75f">printbuf.h</a>
|
||||
</li>
|
||||
<li>printbuf_memset()
|
||||
: <a class="el" href="printbuf_8h.html#ad7fc6ec4c296e85abf404244614cded5">printbuf.h</a>
|
||||
</li>
|
||||
<li>printbuf_new()
|
||||
: <a class="el" href="printbuf_8h.html#a3e390ebc7660a18335edd89f640fd415">printbuf.h</a>
|
||||
</li>
|
||||
<li>printbuf_reset()
|
||||
: <a class="el" href="printbuf_8h.html#a4393ee3dedb376af11c96fe97532292e">printbuf.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
|
||||
<li>sprintbuf()
|
||||
: <a class="el" href="printbuf_8h.html#adf6214db6c8ce994c7f7f1180863c8a4">printbuf.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,95 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html#index__"><span>_</span></a></li>
|
||||
<li><a href="globals_a.html#index_a"><span>a</span></a></li>
|
||||
<li><a href="globals_e.html#index_e"><span>e</span></a></li>
|
||||
<li><a href="globals_f.html#index_f"><span>f</span></a></li>
|
||||
<li class="current"><a href="globals_h.html#index_h"><span>h</span></a></li>
|
||||
<li><a href="globals_i.html#index_i"><span>i</span></a></li>
|
||||
<li><a href="globals_j.html#index_j"><span>j</span></a></li>
|
||||
<li><a href="globals_l.html#index_l"><span>l</span></a></li>
|
||||
<li><a href="globals_m.html#index_m"><span>m</span></a></li>
|
||||
<li><a href="globals_n.html#index_n"><span>n</span></a></li>
|
||||
<li><a href="globals_p.html#index_p"><span>p</span></a></li>
|
||||
<li><a href="globals_s.html#index_s"><span>s</span></a></li>
|
||||
<li><a href="globals_t.html#index_t"><span>t</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
|
||||
<li>HAVE_DECL_INFINITY
|
||||
: <a class="el" href="math__compat_8h.html#a77914bc4c960d1bfda49328bd0646985">math_compat.h</a>
|
||||
</li>
|
||||
<li>HAVE_DECL_NAN
|
||||
: <a class="el" href="math__compat_8h.html#a9025492cba029d3e372532a1d012f119">math_compat.h</a>
|
||||
</li>
|
||||
<li>hexdigit
|
||||
: <a class="el" href="bits_8h.html#a1cf38b22d3a118ad48d9282c32c048aa">bits.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,92 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html#index__"><span>_</span></a></li>
|
||||
<li><a href="globals_a.html#index_a"><span>a</span></a></li>
|
||||
<li><a href="globals_e.html#index_e"><span>e</span></a></li>
|
||||
<li><a href="globals_f.html#index_f"><span>f</span></a></li>
|
||||
<li><a href="globals_h.html#index_h"><span>h</span></a></li>
|
||||
<li class="current"><a href="globals_i.html#index_i"><span>i</span></a></li>
|
||||
<li><a href="globals_j.html#index_j"><span>j</span></a></li>
|
||||
<li><a href="globals_l.html#index_l"><span>l</span></a></li>
|
||||
<li><a href="globals_m.html#index_m"><span>m</span></a></li>
|
||||
<li><a href="globals_n.html#index_n"><span>n</span></a></li>
|
||||
<li><a href="globals_p.html#index_p"><span>p</span></a></li>
|
||||
<li><a href="globals_s.html#index_s"><span>s</span></a></li>
|
||||
<li><a href="globals_t.html#index_t"><span>t</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
|
||||
<li>INFINITY
|
||||
: <a class="el" href="math__compat_8h.html#a956e2723d559858d08644ac99146e910">math_compat.h</a>
|
||||
</li>
|
||||
<li>is_error
|
||||
: <a class="el" href="bits_8h.html#a4a887e5fb7cde221bcab9c6f39d93fc1">bits.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,638 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html#index__"><span>_</span></a></li>
|
||||
<li><a href="globals_a.html#index_a"><span>a</span></a></li>
|
||||
<li><a href="globals_e.html#index_e"><span>e</span></a></li>
|
||||
<li><a href="globals_f.html#index_f"><span>f</span></a></li>
|
||||
<li><a href="globals_h.html#index_h"><span>h</span></a></li>
|
||||
<li><a href="globals_i.html#index_i"><span>i</span></a></li>
|
||||
<li class="current"><a href="globals_j.html#index_j"><span>j</span></a></li>
|
||||
<li><a href="globals_l.html#index_l"><span>l</span></a></li>
|
||||
<li><a href="globals_m.html#index_m"><span>m</span></a></li>
|
||||
<li><a href="globals_n.html#index_n"><span>n</span></a></li>
|
||||
<li><a href="globals_p.html#index_p"><span>p</span></a></li>
|
||||
<li><a href="globals_s.html#index_s"><span>s</span></a></li>
|
||||
<li><a href="globals_t.html#index_t"><span>t</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index_j"></a>- j -</h3><ul>
|
||||
<li>JASSERT
|
||||
: <a class="el" href="debug_8h.html#a8ca29550d5b1b73948f4a7bce53f2385">debug.h</a>
|
||||
</li>
|
||||
<li>json_bool
|
||||
: <a class="el" href="json__object_8h.html#a81f02022906fafc71eb9197049f07f73">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_CONST_FUNCTION()
|
||||
: <a class="el" href="json__object_8h.html#a922b2d76c73da57174beec82d471743b">json_object.h</a>
|
||||
</li>
|
||||
<li>json_c_get_random_seed()
|
||||
: <a class="el" href="random__seed_8h.html#ae190c6819d7687e110d6ec59a16d006f">random_seed.h</a>
|
||||
</li>
|
||||
<li>JSON_C_MAJOR_VERSION
|
||||
: <a class="el" href="json__c__version_8h.html#a251c3e1f59a379a4a905382b4e855125">json_c_version.h</a>
|
||||
</li>
|
||||
<li>JSON_C_MICRO_VERSION
|
||||
: <a class="el" href="json__c__version_8h.html#a64457730097067ab096906d82e4a51a6">json_c_version.h</a>
|
||||
</li>
|
||||
<li>JSON_C_MINOR_VERSION
|
||||
: <a class="el" href="json__c__version_8h.html#adc87477fbc1c75848fe6b6feec21c2d6">json_c_version.h</a>
|
||||
</li>
|
||||
<li>JSON_C_OBJECT_ADD_KEY_IS_NEW
|
||||
: <a class="el" href="json__object_8h.html#a8cd01c484155ac99043a35b7c85ae411">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_OBJECT_KEY_IS_CONSTANT
|
||||
: <a class="el" href="json__object_8h.html#a134ffafc6116799a20134dc7646b5a37">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_OPTION_GLOBAL
|
||||
: <a class="el" href="json__object_8h.html#a45837b8c6564f9e605f8a2bc76243750">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_OPTION_THREAD
|
||||
: <a class="el" href="json__object_8h.html#a50d1490598fe476d7a53e204e02cdc9d">json_object.h</a>
|
||||
</li>
|
||||
<li>json_c_set_serialization_double_format()
|
||||
: <a class="el" href="json__object_8h.html#a865a9a3f897eb64a0354c21b972e8187">json_object.h</a>
|
||||
</li>
|
||||
<li>json_c_shallow_copy_default
|
||||
: <a class="el" href="json__object_8h.html#ad79dbd850536be7f59714b52bbd7ec30">json_object.h</a>
|
||||
</li>
|
||||
<li>json_c_shallow_copy_fn
|
||||
: <a class="el" href="json__object_8h.html#af4562514916f62ea56adf752ada10b52">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_STR_HASH_DFLT
|
||||
: <a class="el" href="linkhash_8h.html#ac32e80138c5be6dd9b0483a9cbcc8799">linkhash.h</a>
|
||||
</li>
|
||||
<li>JSON_C_STR_HASH_PERLLIKE
|
||||
: <a class="el" href="linkhash_8h.html#a62316f34fd42941b97a8e9a6b6e68faa">linkhash.h</a>
|
||||
</li>
|
||||
<li>JSON_C_TO_STRING_NOSLASHESCAPE
|
||||
: <a class="el" href="json__object_8h.html#a5c11d72c55f3ab7c088f19e7bf118163">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_TO_STRING_NOZERO
|
||||
: <a class="el" href="json__object_8h.html#a34f027c147babf69fc530d088f2b49b0">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_TO_STRING_PLAIN
|
||||
: <a class="el" href="json__object_8h.html#a3294cb92765cdeb497cfd346644d1059">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_TO_STRING_PRETTY
|
||||
: <a class="el" href="json__object_8h.html#a2025bc677c35f130e117dfda5bf1ef73">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_TO_STRING_PRETTY_TAB
|
||||
: <a class="el" href="json__object_8h.html#afc1486af21f6b1653c6f523025bdfd3b">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_TO_STRING_SPACED
|
||||
: <a class="el" href="json__object_8h.html#aa821746c8668e6ad62bed90ec9e00103">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VERSION
|
||||
: <a class="el" href="json__c__version_8h.html#a894adda66a072bc3fd34ebe91a5aa7f4">json_c_version.h</a>
|
||||
</li>
|
||||
<li>json_c_version()
|
||||
: <a class="el" href="json__c__version_8h.html#a536b398f292b0669fc824a8486131a27">json_c_version.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VERSION_NUM
|
||||
: <a class="el" href="json__c__version_8h.html#a78e176eee75ee6aed43c4d65ca4c5b44">json_c_version.h</a>
|
||||
</li>
|
||||
<li>json_c_version_num()
|
||||
: <a class="el" href="json__c__version_8h.html#a114bcfed9594f3cd662e43454000938d">json_c_version.h</a>
|
||||
</li>
|
||||
<li>json_c_visit()
|
||||
: <a class="el" href="json__visit_8h.html#ac13d0e2e7bf34cd1be6eee3f0f112045">json_visit.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VISIT_RETURN_CONTINUE
|
||||
: <a class="el" href="json__visit_8h.html#a98b35e1ba1d52d41799dccbfd2c170a1">json_visit.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VISIT_RETURN_ERROR
|
||||
: <a class="el" href="json__visit_8h.html#abfacb0713b81c897a8ce5f37ff6ffb9c">json_visit.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VISIT_RETURN_POP
|
||||
: <a class="el" href="json__visit_8h.html#a327a21f1f1c6f84e7a13fbaaf4a51b13">json_visit.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VISIT_RETURN_SKIP
|
||||
: <a class="el" href="json__visit_8h.html#adc7ca60a79c4ae870d9463e41527c2a1">json_visit.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VISIT_RETURN_STOP
|
||||
: <a class="el" href="json__visit_8h.html#a5956f41bed48f90a127f9b37fad7ea97">json_visit.h</a>
|
||||
</li>
|
||||
<li>JSON_C_VISIT_SECOND
|
||||
: <a class="el" href="json__visit_8h.html#ac5be4a96b99b724833943003715dfc1c">json_visit.h</a>
|
||||
</li>
|
||||
<li>json_c_visit_userfunc
|
||||
: <a class="el" href="json__visit_8h.html#a0fadec4abb2befcacfaff7df822f3f8d">json_visit.h</a>
|
||||
</li>
|
||||
<li>JSON_EXPORT
|
||||
: <a class="el" href="json__object_8h.html#a2a31d5c00f3a4712f2d5d62aee66344e">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_FILE_BUF_SIZE
|
||||
: <a class="el" href="json__util_8h.html#a084b6afc8f7fbef88976aabe4aca7efd">json_util.h</a>
|
||||
</li>
|
||||
<li>json_global_set_string_hash()
|
||||
: <a class="el" href="linkhash_8h.html#ac8e1d61af44d9c0824d8c7980385bcd3">linkhash.h</a>
|
||||
</li>
|
||||
<li>json_hex_chars
|
||||
: <a class="el" href="json__object__private_8h.html#a20dbe4913551cefa6b4b0a77fd4397c4">json_object_private.h</a>
|
||||
</li>
|
||||
<li>json_max
|
||||
: <a class="el" href="json__util_8h.html#a57d63d199d4b9ea40359253618951300">json_util.h</a>
|
||||
</li>
|
||||
<li>json_min
|
||||
: <a class="el" href="json__util_8h.html#a3dde282dc23d0eaa3c4840df8dc262d4">json_util.h</a>
|
||||
</li>
|
||||
<li>json_number_chars
|
||||
: <a class="el" href="json__object__private_8h.html#a27427f89f2fc995639e366635fbe58ac">json_object_private.h</a>
|
||||
</li>
|
||||
<li>json_object
|
||||
: <a class="el" href="json__object_8h.html#af27907ced0f5a43409ad96430fe0f914">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_array_add()
|
||||
: <a class="el" href="json__object_8h.html#a18cdd9a7455e09f36cdf6e5756b7f586">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_array_bsearch()
|
||||
: <a class="el" href="json__object_8h.html#aed353084ed3ad84e7b7575afbe7e719d">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_array_del_idx()
|
||||
: <a class="el" href="json__object_8h.html#a722eca9f578704d3af38b97549242c1f">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_array_get_idx()
|
||||
: <a class="el" href="json__object_8h.html#a676711a76545d4ec65cc75f100f5fd19">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_array_length()
|
||||
: <a class="el" href="json__object_8h.html#ab9ea8f9c72d5adf83fdcbfe69f97fa44">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_array_put_idx()
|
||||
: <a class="el" href="json__object_8h.html#a1ac0ccdbc13a25da7d8b2dc9e421dfad">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_array_sort()
|
||||
: <a class="el" href="json__object_8h.html#a5584e2f2051cd1faa7fafd07ba888fd1">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_deep_copy()
|
||||
: <a class="el" href="json__object_8h.html#aaac16505f13bc56accfad82604d8bcdc">json_object.h</a>
|
||||
</li>
|
||||
<li>JSON_OBJECT_DEF_HASH_ENTRIES
|
||||
: <a class="el" href="json__object_8h.html#a268a63dd1b2e6d81559e268a4529e9bf">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_delete_fn
|
||||
: <a class="el" href="json__object_8h.html#aa647d7c567a06abe1a1a511f6d6860e4">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_double_to_json_string()
|
||||
: <a class="el" href="json__object_8h.html#ada262c62364e3819b6a64b1e3a632336">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_equal()
|
||||
: <a class="el" href="json__object_8h.html#a5a1d4640525e0217059868e312f20579">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_free_userdata
|
||||
: <a class="el" href="json__object_8h.html#adda8476609cc566ee62b80eaed310283">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_from_fd()
|
||||
: <a class="el" href="json__util_8h.html#a62ba7e0f43eb72c418654acf4e263aa6">json_util.h</a>
|
||||
</li>
|
||||
<li>json_object_from_file()
|
||||
: <a class="el" href="json__util_8h.html#a8fa0bba6b7ddb149a2159d99bae709ce">json_util.h</a>
|
||||
</li>
|
||||
<li>json_object_get()
|
||||
: <a class="el" href="json__object_8h.html#a675aa3a9cced685dbfd1c1a770a0c3e4">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_array()
|
||||
: <a class="el" href="json__object_8h.html#a23d20e3f886c1638a7116be66b7b5ec2">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_boolean()
|
||||
: <a class="el" href="json__object_8h.html#ac003fb99db7ecd674bb16d983d2f92ee">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_double()
|
||||
: <a class="el" href="json__object_8h.html#a94a70cff6a14398b581b7b10b0792c5b">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_int()
|
||||
: <a class="el" href="json__object_8h.html#a8c56dc58a02f92cd6789ba5dcb9fe7b1">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_int64()
|
||||
: <a class="el" href="json__object_8h.html#a1a14750b3af4df18ec8dc93b090a8e8a">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_object()
|
||||
: <a class="el" href="json__object_8h.html#a2caa52ae1863bd073444f3737138a4db">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_string()
|
||||
: <a class="el" href="json__object_8h.html#a9ee29ca8d79896e15007131527f6002e">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_string_len()
|
||||
: <a class="el" href="json__object_8h.html#ac1d1f95a27a5e5d93bb66a8adfc1a2f4">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_type()
|
||||
: <a class="el" href="json__object_8h.html#af256a3a7910e271a2b9735e5044c3827">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_get_userdata()
|
||||
: <a class="el" href="json__object_8h.html#ae925f3ec0f61cba5ea3dd50e0315f194">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_int_inc()
|
||||
: <a class="el" href="json__object_8h.html#a25691322b2d1ab24a3797e5752eb659f">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_is_type()
|
||||
: <a class="el" href="json__object_8h.html#a8ab506a3d8f4ba5eb6a12ce0a6bbd37b">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_iter
|
||||
: <a class="el" href="json__object_8h.html#af88126730e765f2068968f4b16fd074f">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_iter_begin()
|
||||
: <a class="el" href="json__object__iterator_8h.html#a925eb97b5aa5b64986a0f663f53cf0fa">json_object_iterator.h</a>
|
||||
</li>
|
||||
<li>json_object_iter_end()
|
||||
: <a class="el" href="json__object__iterator_8h.html#a1fa3784395fb14496e3f1a1633028fd4">json_object_iterator.h</a>
|
||||
</li>
|
||||
<li>json_object_iter_equal()
|
||||
: <a class="el" href="json__object__iterator_8h.html#a878ca25f72b339882aa2607ac938e79c">json_object_iterator.h</a>
|
||||
</li>
|
||||
<li>json_object_iter_init_default()
|
||||
: <a class="el" href="json__object__iterator_8h.html#af30f56ca510d59da42e5592f9a436c10">json_object_iterator.h</a>
|
||||
</li>
|
||||
<li>json_object_iter_next()
|
||||
: <a class="el" href="json__object__iterator_8h.html#aa98a310c340f6d9b4eeecb673aa5e240">json_object_iterator.h</a>
|
||||
</li>
|
||||
<li>json_object_iter_peek_name()
|
||||
: <a class="el" href="json__object__iterator_8h.html#af17775b9b812a4206a84e4d3fb5774ab">json_object_iterator.h</a>
|
||||
</li>
|
||||
<li>json_object_iter_peek_value()
|
||||
: <a class="el" href="json__object__iterator_8h.html#a47b0af7f1722c10475dffd29efc0b89d">json_object_iterator.h</a>
|
||||
</li>
|
||||
<li>json_object_new_array()
|
||||
: <a class="el" href="json__object_8h.html#a84f7f8c0774c4600d958561d7548d649">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_boolean()
|
||||
: <a class="el" href="json__object_8h.html#a2e290acd80e72cca745f89fb4600fb78">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_double()
|
||||
: <a class="el" href="json__object_8h.html#a594a093bafb9091f843da3197e0638aa">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_double_s()
|
||||
: <a class="el" href="json__object_8h.html#ae49671c026fe1ada370a75321e4e65f6">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_int()
|
||||
: <a class="el" href="json__object_8h.html#ae92f0770fb4b3c884ce35de52d3d7de8">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_int64()
|
||||
: <a class="el" href="json__object_8h.html#a7847f74494645c2b076505c37cc4cb93">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_object()
|
||||
: <a class="el" href="json__object_8h.html#a68c383f54544fca19b5f2425be397600">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_string()
|
||||
: <a class="el" href="json__object_8h.html#a7b7b5302b3903c9347eeb1f4a64d657b">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_new_string_len()
|
||||
: <a class="el" href="json__object_8h.html#a190e9bea8c39b257af69d392dd2ddffb">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_add()
|
||||
: <a class="el" href="json__object_8h.html#a27bd808a022251059a43f1f6370441cd">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_add_ex()
|
||||
: <a class="el" href="json__object_8h.html#a57d3e444dd7db6b4510d21bf3716a002">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_del()
|
||||
: <a class="el" href="json__object_8h.html#ac6605fdafca20bd5d33c84f4f80a3bda">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_foreach
|
||||
: <a class="el" href="json__object_8h.html#acf5f514a9e0061c10fc08055762639ee">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_foreachC
|
||||
: <a class="el" href="json__object_8h.html#a71f07006c12d78f7bbf4cb716a5af3a6">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_get()
|
||||
: <a class="el" href="json__object_8h.html#a1a097805abb53b4c8a60d573730a8939">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_get_ex()
|
||||
: <a class="el" href="json__object_8h.html#a90d5f16d58636f01d2ed1a6030c7366a">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_object_length()
|
||||
: <a class="el" href="json__object_8h.html#ad59a0ad2ec914a5eef90af53acae06d9">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_private_delete_fn
|
||||
: <a class="el" href="json__object__private_8h.html#aa125a0d39945a73a7d52b9823a2ef741">json_object_private.h</a>
|
||||
</li>
|
||||
<li>json_object_put()
|
||||
: <a class="el" href="json__object_8h.html#afabf61f932cd64a4122ca8092452eed5">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_boolean()
|
||||
: <a class="el" href="json__object_8h.html#a23863c1503f3a8dd8a460a6405da0a65">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_double()
|
||||
: <a class="el" href="json__object_8h.html#a3a7b7ce585565558cb69dad8d45d7757">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_int()
|
||||
: <a class="el" href="json__object_8h.html#a4ab3568f12e01fd2967e765a72456caa">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_int64()
|
||||
: <a class="el" href="json__object_8h.html#a7d3948600dde732abed0e261264ef53a">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_serializer()
|
||||
: <a class="el" href="json__object_8h.html#a889345512a214b8f78f6a73561523c7c">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_string()
|
||||
: <a class="el" href="json__object_8h.html#ac35013e51cdc0651512801c947df431c">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_string_len()
|
||||
: <a class="el" href="json__object_8h.html#ae48707a0c8689e14aaa3a9b831db27fc">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_set_userdata()
|
||||
: <a class="el" href="json__object_8h.html#a4ee4281ccd123c62878e931a0a3bc43b">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_to_fd()
|
||||
: <a class="el" href="json__util_8h.html#adc52c3b220effc880270f095cd748433">json_util.h</a>
|
||||
</li>
|
||||
<li>json_object_to_file()
|
||||
: <a class="el" href="json__util_8h.html#abbd121df84ec3878a5cb8fefaff12ec7">json_util.h</a>
|
||||
</li>
|
||||
<li>json_object_to_file_ext()
|
||||
: <a class="el" href="json__util_8h.html#a4e980954930951bf790c1ec3ba68fb76">json_util.h</a>
|
||||
</li>
|
||||
<li>json_object_to_json_string()
|
||||
: <a class="el" href="json__object_8h.html#ab7390c22baa1700d977c2af6b22d43a4">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_to_json_string_ext()
|
||||
: <a class="el" href="json__object_8h.html#a9db613127bd4ef7db42307e43a85fc1b">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_to_json_string_fn
|
||||
: <a class="el" href="json__object_8h.html#af84078100a9025df418f31626ea866fa">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_to_json_string_length()
|
||||
: <a class="el" href="json__object_8h.html#add3770a3ba3d01a8f9adedfcd6bd8dbb">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_userdata_to_json_string
|
||||
: <a class="el" href="json__object_8h.html#a8bc341281f4dd60b53b03b2dec0fae28">json_object.h</a>
|
||||
</li>
|
||||
<li>json_parse_double()
|
||||
: <a class="el" href="json__util_8h.html#a6b5790c15178b6ea97841fc5868b1e1a">json_util.h</a>
|
||||
</li>
|
||||
<li>json_parse_int64()
|
||||
: <a class="el" href="json__util_8h.html#a9bb9882ef2859ca2c1ee17805679bc25">json_util.h</a>
|
||||
</li>
|
||||
<li>json_pointer_get()
|
||||
: <a class="el" href="json__pointer_8h.html#abf47f34be3386a5eb510604f05ae9491">json_pointer.h</a>
|
||||
</li>
|
||||
<li>json_pointer_getf()
|
||||
: <a class="el" href="json__pointer_8h.html#ae7eb2cab2f6f50c51053430223a01438">json_pointer.h</a>
|
||||
</li>
|
||||
<li>json_pointer_set()
|
||||
: <a class="el" href="json__pointer_8h.html#ab06a9fd172593748b2dc8d3a11c74fa0">json_pointer.h</a>
|
||||
</li>
|
||||
<li>json_pointer_setf()
|
||||
: <a class="el" href="json__pointer_8h.html#a74edfbe357c7428b1a20ae73e3910ac0">json_pointer.h</a>
|
||||
</li>
|
||||
<li>json_tokener
|
||||
: <a class="el" href="json__tokener_8h.html#a4dd5e5b65aee7f376f529f86b210ff49">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_continue
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a9b26e920ca765df91c84e999561d8fb0">json_tokener.h</a>
|
||||
</li>
|
||||
<li>JSON_TOKENER_DEFAULT_DEPTH
|
||||
: <a class="el" href="json__tokener_8h.html#a5ccd346459feb66e4e0af32005360279">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_depth
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a59b2c36d9cc30c3038e09b9ddee6c86c">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_desc()
|
||||
: <a class="el" href="json__tokener_8h.html#a04c5625212aed3216cc303429e47f642">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_array
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a574846740b785146f164a209dc89574e">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_boolean
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59addbdfe084e20709da3d20c8ae8ca278c">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_comment
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a3588c05b1da8b909a8cbdef66b0a1a28">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_eof
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a8f774f4c7869afdd9b92295fca3a9ded">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_null
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a641bbb8d881fdd1e463f20a1a203b77c">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_number
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59ab1b3ad685eb97235d269cc5b9eb7ab81">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_object_key_name
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a2003bd8e96c6680cd22419c5ceafd4c0">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_object_key_sep
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59af91a2a819b0d6344d6d4e1d2579f28fd">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_object_value_sep
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a9ddb98741aebf7ac44735b4a43717013">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_string
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a033ce89ce7b8f9e591e4bea92121c4c7">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_parse_unexpected
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a3309fa8ea4ab3ee0a81c55b69d223710">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_error_size
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a1eeed74de65c0c12c9f9c28cf4f3ff1d">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_free()
|
||||
: <a class="el" href="json__tokener_8h.html#a887c4661906fc6b36cc366304e522534">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_get_error()
|
||||
: <a class="el" href="json__tokener_8h.html#af5d7ffd95a0f6e5d5bb5994d233b4197">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_new()
|
||||
: <a class="el" href="json__tokener_8h.html#a5ac7e2c350bc592cf2fa7b9935b00ef5">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_new_ex()
|
||||
: <a class="el" href="json__tokener_8h.html#a6a1583ddd434e13515d6232de813462e">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_parse()
|
||||
: <a class="el" href="json__tokener_8h.html#a236ef64d079822a4411d13eae7190c4d">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_parse_ex()
|
||||
: <a class="el" href="json__tokener_8h.html#a61679f178111963a9ffa3c8179553f7a">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_parse_verbose()
|
||||
: <a class="el" href="json__tokener_8h.html#a735f2dc755d57ed5c5b807aaaaef3b14">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_reset()
|
||||
: <a class="el" href="json__tokener_8h.html#a238649a59737be5152d525aeaf4153ab">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_set_flags()
|
||||
: <a class="el" href="json__tokener_8h.html#a7e7a0c0c9dc79e5e47b2608bb8aad7b7">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_array
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ab3d763300f1914865be09d603ddc11f4">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_array_add
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2aa2a01798ebe318ea91c38a886418f771">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_array_after_sep
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ab1a0ad626ec662c1ba4fb5bfee1cd0a9">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_array_sep
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a4ec7762aeab3424cbb14354c94025865">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_boolean
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a3525b15ecd0a698281b3914115b6bd3e">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_comment
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a8c2680b8873a8dce85f0b1ac25882dc9">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_comment_end
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a62cef297a37a98b1239ea4bbd39723e1">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_comment_eol
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ad8151350b1ef50298bafbab244ac1162">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_comment_start
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a0ff1d1935d49188aa1e6b998d43e655c">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_eatws
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a9db152607ec1872a000f1fcd8757297d">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_escape_unicode
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a6c852da2e694be56799c58c201d6dca0">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_finish
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ad80b689cb709967b67a348de3d8601d2">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_inf
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ab9f6244bfca4924db61ed3050c780b53">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_null
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a668fb2654c59608945370003403a5792">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_number
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a7ce18d281d322af690b45f3b8b599e81">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_object_field
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a77375940a10806e81d99876d13be67fc">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_object_field_end
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a0220aea1d9204aadfffde92c7f73f5f7">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_object_field_start
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a8c7dbda177a5d83a36a64f7cb99b9a29">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_object_field_start_after_sep
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a3a2c9cf26d076936a10a6ae3ca4eb523">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_object_sep
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2adaf3e06c5fc04fd4f04040cd67698215">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_object_value
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a4c7b7deac37355491572f6da84f208aa">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_object_value_add
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ade6bee72f2147e634b19eb84e58eb162">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_start
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a7c4c0bed1ebde45f5a99de4278792d72">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_string
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2aa90ea4c327a285bfbbce49d42d491d65">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_state_string_escape
|
||||
: <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a1cf793d73587f68c4f2b3b4f65ff728e">json_tokener.h</a>
|
||||
</li>
|
||||
<li>JSON_TOKENER_STRICT
|
||||
: <a class="el" href="json__tokener_8h.html#a72be595cb7e090c70b1d29feb1cbfb16">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_tokener_success
|
||||
: <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59afe2fa9bde03155019b2df30f66a5fcd0">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_type
|
||||
: <a class="el" href="json__object_8h.html#aba5eff84f8638d22f50403175f270c96">json_object.h</a>
|
||||
</li>
|
||||
<li>json_type_array
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06cae536c8c9da4648e6b9348abddde6113c">json_object.h</a>
|
||||
</li>
|
||||
<li>json_type_boolean
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06ca5d15299e90dbb9935ff6d3e2c22a285c">json_object.h</a>
|
||||
</li>
|
||||
<li>json_type_double
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06cac6ac2d9a16577d00210fea64d16b47cd">json_object.h</a>
|
||||
</li>
|
||||
<li>json_type_int
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06ca7bf325c213b43c5f970ae2d4443ab956">json_object.h</a>
|
||||
</li>
|
||||
<li>json_type_null
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06ca127e62d156e13517471fcde3378979c1">json_object.h</a>
|
||||
</li>
|
||||
<li>json_type_object
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06cac966c8008f0b2c07da59ee8a60ad440f">json_object.h</a>
|
||||
</li>
|
||||
<li>json_type_string
|
||||
: <a class="el" href="json__object_8h.html#ac75c61993722a9b8aaa44704072ec06cac9f56e57c09245522d764015a054faa6">json_object.h</a>
|
||||
</li>
|
||||
<li>json_type_to_name()
|
||||
: <a class="el" href="json__util_8h.html#a74031a1b948dc9fed3f367ea6ce78389">json_util.h</a>
|
||||
</li>
|
||||
<li>json_util_get_last_err()
|
||||
: <a class="el" href="json__util_8h.html#a811b1a5a7544337811a44c26fbe88761">json_util.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,170 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html#index__"><span>_</span></a></li>
|
||||
<li><a href="globals_a.html#index_a"><span>a</span></a></li>
|
||||
<li><a href="globals_e.html#index_e"><span>e</span></a></li>
|
||||
<li><a href="globals_f.html#index_f"><span>f</span></a></li>
|
||||
<li><a href="globals_h.html#index_h"><span>h</span></a></li>
|
||||
<li><a href="globals_i.html#index_i"><span>i</span></a></li>
|
||||
<li><a href="globals_j.html#index_j"><span>j</span></a></li>
|
||||
<li class="current"><a href="globals_l.html#index_l"><span>l</span></a></li>
|
||||
<li><a href="globals_m.html#index_m"><span>m</span></a></li>
|
||||
<li><a href="globals_n.html#index_n"><span>n</span></a></li>
|
||||
<li><a href="globals_p.html#index_p"><span>p</span></a></li>
|
||||
<li><a href="globals_s.html#index_s"><span>s</span></a></li>
|
||||
<li><a href="globals_t.html#index_t"><span>t</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
|
||||
<li>LEN_DIRECT_STRING_DATA
|
||||
: <a class="el" href="json__object__private_8h.html#a227adaf0073e17006f614190d414fa1a">json_object_private.h</a>
|
||||
</li>
|
||||
<li>lh_abort()
|
||||
: <a class="el" href="linkhash_8h.html#a1294160fa0e80cee04cd745a401f43a4">linkhash.h</a>
|
||||
</li>
|
||||
<li>LH_EMPTY
|
||||
: <a class="el" href="linkhash_8h.html#a93fad7f8ae44575dc89c9567859972d2">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_entry_free_fn
|
||||
: <a class="el" href="linkhash_8h.html#a671553d0ee3c2a123190ba0f8ed2b635">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_entry_k
|
||||
: <a class="el" href="linkhash_8h.html#a7579ce28b8366fc9b8656f14270aa3aa">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_entry_v
|
||||
: <a class="el" href="linkhash_8h.html#a0d4052ccfd8c5d351a9c1d3ba07671b3">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_equal_fn
|
||||
: <a class="el" href="linkhash_8h.html#a91fd85fc81b0c7c83c62f00e84729091">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_foreach
|
||||
: <a class="el" href="linkhash_8h.html#ad7dd67da915065dce2c6f44cb03e2d82">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_foreach_safe
|
||||
: <a class="el" href="linkhash_8h.html#abcbb0df08b4976d0649b826b6bacfca1">linkhash.h</a>
|
||||
</li>
|
||||
<li>LH_FREED
|
||||
: <a class="el" href="linkhash_8h.html#ac69428f2de0a6fb080b6fb373d506aa7">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_hash_fn
|
||||
: <a class="el" href="linkhash_8h.html#a38bae27995dcfb6ee3fb109a9be229b2">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_kchar_table_new()
|
||||
: <a class="el" href="linkhash_8h.html#a6bf630754affe92612639542a6c49c3f">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_kptr_table_new()
|
||||
: <a class="el" href="linkhash_8h.html#af8108563b961dbf5471fe2c0e51f40a5">linkhash.h</a>
|
||||
</li>
|
||||
<li>LH_LOAD_FACTOR
|
||||
: <a class="el" href="linkhash_8h.html#a66b61772c29d85eb52b697e0b0dc0aaf">linkhash.h</a>
|
||||
</li>
|
||||
<li>LH_PRIME
|
||||
: <a class="el" href="linkhash_8h.html#a032f1bd115df254dda325437203ce5fb">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table
|
||||
: <a class="el" href="linkhash_8h.html#a766e90057496fc6712d6be0da180a21f">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_delete()
|
||||
: <a class="el" href="linkhash_8h.html#a2fed2c78f70d229edb2d00775ffe593c">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_delete_entry()
|
||||
: <a class="el" href="linkhash_8h.html#ae5885a71c3457190fb1dc2d6e20dde3b">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_free()
|
||||
: <a class="el" href="linkhash_8h.html#a81653acf740cf8c9fe672e6cd16df0cf">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_insert()
|
||||
: <a class="el" href="linkhash_8h.html#a86c0cd547be1e2c2486a73bd58e1352c">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_insert_w_hash()
|
||||
: <a class="el" href="linkhash_8h.html#a4558a9347a422e03a15b0b7a29b82dc3">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_length()
|
||||
: <a class="el" href="linkhash_8h.html#ac9ba631c91fe80fb905f04c7cd526f2b">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_lookup()
|
||||
: <a class="el" href="linkhash_8h.html#a49c27f18a174eaf126d1b7953df13cb1">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_lookup_entry()
|
||||
: <a class="el" href="linkhash_8h.html#ad3b6ca2d967a6c3021ee6c39e014a918">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_lookup_entry_w_hash()
|
||||
: <a class="el" href="linkhash_8h.html#a59ecaf34ef59280952f4459b2de63677">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_lookup_ex()
|
||||
: <a class="el" href="linkhash_8h.html#a81c270bb0dd9d5c8a3e7ae20bc4d67f3">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_new()
|
||||
: <a class="el" href="linkhash_8h.html#a9c4f8a71dbe4d3390d9f7adb331beb0e">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table_resize()
|
||||
: <a class="el" href="linkhash_8h.html#a30c8414e31aeee7669acc938116d933f">linkhash.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,122 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html#index__"><span>_</span></a></li>
|
||||
<li><a href="globals_a.html#index_a"><span>a</span></a></li>
|
||||
<li><a href="globals_e.html#index_e"><span>e</span></a></li>
|
||||
<li><a href="globals_f.html#index_f"><span>f</span></a></li>
|
||||
<li><a href="globals_h.html#index_h"><span>h</span></a></li>
|
||||
<li><a href="globals_i.html#index_i"><span>i</span></a></li>
|
||||
<li><a href="globals_j.html#index_j"><span>j</span></a></li>
|
||||
<li><a href="globals_l.html#index_l"><span>l</span></a></li>
|
||||
<li class="current"><a href="globals_m.html#index_m"><span>m</span></a></li>
|
||||
<li><a href="globals_n.html#index_n"><span>n</span></a></li>
|
||||
<li><a href="globals_p.html#index_p"><span>p</span></a></li>
|
||||
<li><a href="globals_s.html#index_s"><span>s</span></a></li>
|
||||
<li><a href="globals_t.html#index_t"><span>t</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
|
||||
<li>mc_debug()
|
||||
: <a class="el" href="debug_8h.html#a600cf4cbbe19c0c15ca3710210e35aba">debug.h</a>
|
||||
</li>
|
||||
<li>MC_DEBUG
|
||||
: <a class="el" href="debug_8h.html#afda355b35d18bf2e6a2a22d5c8eef42c">debug.h</a>
|
||||
</li>
|
||||
<li>MC_ERROR
|
||||
: <a class="el" href="debug_8h.html#a11ba39cecbe449af5b86fa2f78e9da9d">debug.h</a>
|
||||
</li>
|
||||
<li>mc_error()
|
||||
: <a class="el" href="debug_8h.html#abf22ea3a331c7ff21c23da91a07c7cb2">debug.h</a>
|
||||
</li>
|
||||
<li>mc_get_debug()
|
||||
: <a class="el" href="debug_8h.html#a3b3ab3ae8b438384fb109a2e38646b6e">debug.h</a>
|
||||
</li>
|
||||
<li>MC_GET_DEBUG
|
||||
: <a class="el" href="debug_8h.html#acb272a4b4444b69cd995236f167f90ba">debug.h</a>
|
||||
</li>
|
||||
<li>MC_INFO
|
||||
: <a class="el" href="debug_8h.html#a5ef640ce1e9e61c5f6632aefbbfa0041">debug.h</a>
|
||||
</li>
|
||||
<li>mc_info()
|
||||
: <a class="el" href="debug_8h.html#acbb92996a994e316ff65ed3a026e12a4">debug.h</a>
|
||||
</li>
|
||||
<li>mc_set_debug()
|
||||
: <a class="el" href="debug_8h.html#af65a73617b71476020a005b20bf02726">debug.h</a>
|
||||
</li>
|
||||
<li>MC_SET_DEBUG
|
||||
: <a class="el" href="debug_8h.html#a50f21a239fa040a10ad4cfdb4278b02b">debug.h</a>
|
||||
</li>
|
||||
<li>mc_set_syslog()
|
||||
: <a class="el" href="debug_8h.html#aadb888da410116384e75a00db30da705">debug.h</a>
|
||||
</li>
|
||||
<li>MC_SET_SYSLOG
|
||||
: <a class="el" href="debug_8h.html#acf1e895cb5eb7f334cbe51901e6bb918">debug.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,89 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html#index__"><span>_</span></a></li>
|
||||
<li><a href="globals_a.html#index_a"><span>a</span></a></li>
|
||||
<li><a href="globals_e.html#index_e"><span>e</span></a></li>
|
||||
<li><a href="globals_f.html#index_f"><span>f</span></a></li>
|
||||
<li><a href="globals_h.html#index_h"><span>h</span></a></li>
|
||||
<li><a href="globals_i.html#index_i"><span>i</span></a></li>
|
||||
<li><a href="globals_j.html#index_j"><span>j</span></a></li>
|
||||
<li><a href="globals_l.html#index_l"><span>l</span></a></li>
|
||||
<li><a href="globals_m.html#index_m"><span>m</span></a></li>
|
||||
<li class="current"><a href="globals_n.html#index_n"><span>n</span></a></li>
|
||||
<li><a href="globals_p.html#index_p"><span>p</span></a></li>
|
||||
<li><a href="globals_s.html#index_s"><span>s</span></a></li>
|
||||
<li><a href="globals_t.html#index_t"><span>t</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
|
||||
<li>NAN
|
||||
: <a class="el" href="math__compat_8h.html#a8abfcc76130f3f991d124dd22d7e69bc">math_compat.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,116 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html#index__"><span>_</span></a></li>
|
||||
<li><a href="globals_a.html#index_a"><span>a</span></a></li>
|
||||
<li><a href="globals_e.html#index_e"><span>e</span></a></li>
|
||||
<li><a href="globals_f.html#index_f"><span>f</span></a></li>
|
||||
<li><a href="globals_h.html#index_h"><span>h</span></a></li>
|
||||
<li><a href="globals_i.html#index_i"><span>i</span></a></li>
|
||||
<li><a href="globals_j.html#index_j"><span>j</span></a></li>
|
||||
<li><a href="globals_l.html#index_l"><span>l</span></a></li>
|
||||
<li><a href="globals_m.html#index_m"><span>m</span></a></li>
|
||||
<li><a href="globals_n.html#index_n"><span>n</span></a></li>
|
||||
<li class="current"><a href="globals_p.html#index_p"><span>p</span></a></li>
|
||||
<li><a href="globals_s.html#index_s"><span>s</span></a></li>
|
||||
<li><a href="globals_t.html#index_t"><span>t</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
|
||||
<li>PRId64
|
||||
: <a class="el" href="json__inttypes_8h.html#ae372e90b62c1e8b51dc5d95bf7f5ba48">json_inttypes.h</a>
|
||||
</li>
|
||||
<li>printbuf
|
||||
: <a class="el" href="printbuf_8h.html#ace274df280df67463ff417b1b3392395">printbuf.h</a>
|
||||
</li>
|
||||
<li>printbuf_free()
|
||||
: <a class="el" href="printbuf_8h.html#ab525221c767ac65c58ddeea8a655a4e8">printbuf.h</a>
|
||||
</li>
|
||||
<li>printbuf_length
|
||||
: <a class="el" href="printbuf_8h.html#acdd84ad88987c0166b7ba0e3f1f8f1bb">printbuf.h</a>
|
||||
</li>
|
||||
<li>printbuf_memappend()
|
||||
: <a class="el" href="printbuf_8h.html#a22f09779a19db59a83e7cb8c2ce4c75f">printbuf.h</a>
|
||||
</li>
|
||||
<li>printbuf_memappend_fast
|
||||
: <a class="el" href="printbuf_8h.html#a6f3a4dc87fab41c37e3eff42f40dc346">printbuf.h</a>
|
||||
</li>
|
||||
<li>printbuf_memset()
|
||||
: <a class="el" href="printbuf_8h.html#ad7fc6ec4c296e85abf404244614cded5">printbuf.h</a>
|
||||
</li>
|
||||
<li>printbuf_new()
|
||||
: <a class="el" href="printbuf_8h.html#a3e390ebc7660a18335edd89f640fd415">printbuf.h</a>
|
||||
</li>
|
||||
<li>printbuf_reset()
|
||||
: <a class="el" href="printbuf_8h.html#a4393ee3dedb376af11c96fe97532292e">printbuf.h</a>
|
||||
</li>
|
||||
<li>printbuf_strappend
|
||||
: <a class="el" href="printbuf_8h.html#a2f30492682f5fbc59a8749b428e0e4ba">printbuf.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,95 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html#index__"><span>_</span></a></li>
|
||||
<li><a href="globals_a.html#index_a"><span>a</span></a></li>
|
||||
<li><a href="globals_e.html#index_e"><span>e</span></a></li>
|
||||
<li><a href="globals_f.html#index_f"><span>f</span></a></li>
|
||||
<li><a href="globals_h.html#index_h"><span>h</span></a></li>
|
||||
<li><a href="globals_i.html#index_i"><span>i</span></a></li>
|
||||
<li><a href="globals_j.html#index_j"><span>j</span></a></li>
|
||||
<li><a href="globals_l.html#index_l"><span>l</span></a></li>
|
||||
<li><a href="globals_m.html#index_m"><span>m</span></a></li>
|
||||
<li><a href="globals_n.html#index_n"><span>n</span></a></li>
|
||||
<li><a href="globals_p.html#index_p"><span>p</span></a></li>
|
||||
<li class="current"><a href="globals_s.html#index_s"><span>s</span></a></li>
|
||||
<li><a href="globals_t.html#index_t"><span>t</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
|
||||
<li>SCNd64
|
||||
: <a class="el" href="json__inttypes_8h.html#ae7044b3fb4cc5cde22155d59437c348f">json_inttypes.h</a>
|
||||
</li>
|
||||
<li>sprintbuf()
|
||||
: <a class="el" href="printbuf_8h.html#adf6214db6c8ce994c7f7f1180863c8a4">printbuf.h</a>
|
||||
</li>
|
||||
<li>strerror
|
||||
: <a class="el" href="strerror__override_8h.html#a9dae36435b1668856ec610d6d5238754">strerror_override.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,92 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html#index__"><span>_</span></a></li>
|
||||
<li><a href="globals_a.html#index_a"><span>a</span></a></li>
|
||||
<li><a href="globals_e.html#index_e"><span>e</span></a></li>
|
||||
<li><a href="globals_f.html#index_f"><span>f</span></a></li>
|
||||
<li><a href="globals_h.html#index_h"><span>h</span></a></li>
|
||||
<li><a href="globals_i.html#index_i"><span>i</span></a></li>
|
||||
<li><a href="globals_j.html#index_j"><span>j</span></a></li>
|
||||
<li><a href="globals_l.html#index_l"><span>l</span></a></li>
|
||||
<li><a href="globals_m.html#index_m"><span>m</span></a></li>
|
||||
<li><a href="globals_n.html#index_n"><span>n</span></a></li>
|
||||
<li><a href="globals_p.html#index_p"><span>p</span></a></li>
|
||||
<li><a href="globals_s.html#index_s"><span>s</span></a></li>
|
||||
<li class="current"><a href="globals_t.html#index_t"><span>t</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
|
||||
<li>THIS_FUNCTION_IS_DEPRECATED
|
||||
: <a class="el" href="json__object_8h.html#a84fa70b86686ce202058f63905c90078">json_object.h</a>
|
||||
</li>
|
||||
<li>TRUE
|
||||
: <a class="el" href="json__object_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">json_object.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,118 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
 <ul>
|
||||
<li>array_list
|
||||
: <a class="el" href="arraylist_8h.html#a6d6d32d8b026ea2025df519b9e90f44a">arraylist.h</a>
|
||||
</li>
|
||||
<li>array_list_free_fn
|
||||
: <a class="el" href="arraylist_8h.html#aad83e4ed3c8ea274e6f18459276d774b">arraylist.h</a>
|
||||
</li>
|
||||
<li>json_bool
|
||||
: <a class="el" href="json__object_8h.html#a81f02022906fafc71eb9197049f07f73">json_object.h</a>
|
||||
</li>
|
||||
<li>json_c_shallow_copy_fn
|
||||
: <a class="el" href="json__object_8h.html#af4562514916f62ea56adf752ada10b52">json_object.h</a>
|
||||
</li>
|
||||
<li>json_c_visit_userfunc
|
||||
: <a class="el" href="json__visit_8h.html#a0fadec4abb2befcacfaff7df822f3f8d">json_visit.h</a>
|
||||
</li>
|
||||
<li>json_object
|
||||
: <a class="el" href="json__object_8h.html#af27907ced0f5a43409ad96430fe0f914">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_delete_fn
|
||||
: <a class="el" href="json__object_8h.html#aa647d7c567a06abe1a1a511f6d6860e4">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_iter
|
||||
: <a class="el" href="json__object_8h.html#af88126730e765f2068968f4b16fd074f">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_private_delete_fn
|
||||
: <a class="el" href="json__object__private_8h.html#aa125a0d39945a73a7d52b9823a2ef741">json_object_private.h</a>
|
||||
</li>
|
||||
<li>json_object_to_json_string_fn
|
||||
: <a class="el" href="json__object_8h.html#af84078100a9025df418f31626ea866fa">json_object.h</a>
|
||||
</li>
|
||||
<li>json_tokener
|
||||
: <a class="el" href="json__tokener_8h.html#a4dd5e5b65aee7f376f529f86b210ff49">json_tokener.h</a>
|
||||
</li>
|
||||
<li>json_type
|
||||
: <a class="el" href="json__object_8h.html#aba5eff84f8638d22f50403175f270c96">json_object.h</a>
|
||||
</li>
|
||||
<li>lh_entry_free_fn
|
||||
: <a class="el" href="linkhash_8h.html#a671553d0ee3c2a123190ba0f8ed2b635">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_equal_fn
|
||||
: <a class="el" href="linkhash_8h.html#a91fd85fc81b0c7c83c62f00e84729091">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_hash_fn
|
||||
: <a class="el" href="linkhash_8h.html#a38bae27995dcfb6ee3fb109a9be229b2">linkhash.h</a>
|
||||
</li>
|
||||
<li>lh_table
|
||||
: <a class="el" href="linkhash_8h.html#a766e90057496fc6712d6be0da180a21f">linkhash.h</a>
|
||||
</li>
|
||||
<li>printbuf
|
||||
: <a class="el" href="printbuf_8h.html#ace274df280df67463ff417b1b3392395">printbuf.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,85 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: Globals</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
<li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
|
||||
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
|
||||
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
|
||||
<li><a href="globals_defs.html"><span>Macros</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
 <ul>
|
||||
<li>_json_c_strerror_enable
|
||||
: <a class="el" href="strerror__override__private_8h.html#ac00e7d4121efe4b2e6ad8961e35e88ba">strerror_override_private.h</a>
|
||||
</li>
|
||||
<li>json_c_shallow_copy_default
|
||||
: <a class="el" href="json__object_8h.html#ad79dbd850536be7f59714b52bbd7ec30">json_object.h</a>
|
||||
</li>
|
||||
<li>json_hex_chars
|
||||
: <a class="el" href="json__object__private_8h.html#a20dbe4913551cefa6b4b0a77fd4397c4">json_object_private.h</a>
|
||||
</li>
|
||||
<li>json_number_chars
|
||||
: <a class="el" href="json__object__private_8h.html#a27427f89f2fc995639e366635fbe58ac">json_object_private.h</a>
|
||||
</li>
|
||||
<li>json_object_free_userdata
|
||||
: <a class="el" href="json__object_8h.html#adda8476609cc566ee62b80eaed310283">json_object.h</a>
|
||||
</li>
|
||||
<li>json_object_userdata_to_json_string
|
||||
: <a class="el" href="json__object_8h.html#a8bc341281f4dd60b53b03b2dec0fae28">json_object.h</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,129 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: `json-c`</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">`json-c` </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><ol type="1">
|
||||
<li><a href="#overview">Overview and Build Status</a></li>
|
||||
<li><a href="#buildunix">Building on Unix</a></li>
|
||||
<li><a href="#installprereq">Install Prerequisites</a></li>
|
||||
<li><a href="#buildthreaded">Building with partial threading support</a></li>
|
||||
<li><a href="#linking">Linking to libjson-c</a></li>
|
||||
<li><a href="#using">Using json-c</a></li>
|
||||
</ol>
|
||||
<h2>JSON-C - A JSON implementation in C <a class="anchor" id="overview"></a> </h2>
|
||||
<p>Build Status</p><ul>
|
||||
<li><a href="https://ci.appveyor.com/project/hawicz/json-c">AppVeyor Build</a> <div class="image">
|
||||
<img src="https://ci.appveyor.com/api/projects/status/github/json-c/json-c?branch=master&svg=true" alt="AppVeyor Build Status"/>
|
||||
</div>
|
||||
</li>
|
||||
<li><a href="https://travis-ci.org/json-c/json-c">Travis Build</a> <div class="image">
|
||||
<img src="https://travis-ci.org/json-c/json-c.svg?branch=master" alt="Travis Build Status"/>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<p>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 <a href="https://tools.ietf.org/html/rfc7159">RFC 7159</a>.</p>
|
||||
<h2>Building on Unix with <code>git</code>, <code>gcc</code> and <code>autotools</code> <a class="anchor" id="buildunix"></a> </h2>
|
||||
<p>Home page for json-c: <a href="https://github.com/json-c/json-c/wiki">https://github.com/json-c/json-c/wiki</a></p>
|
||||
<h3>Prerequisites:</h3>
|
||||
<p>See also the "Installing prerequisites" section below.</p>
|
||||
<ul>
|
||||
<li><code>gcc</code>, <code>clang</code>, or another C compiler</li>
|
||||
<li><code>libtool>=2.2.6b</code></li>
|
||||
</ul>
|
||||
<p>If you're not using a release tarball, you'll also need:</p>
|
||||
<ul>
|
||||
<li><code>autoconf>=2.64</code> (<code>autoreconf</code>)</li>
|
||||
<li><code>automake>=1.13</code></li>
|
||||
</ul>
|
||||
<p>Make sure you have a complete <code>libtool</code> install, including <code>libtoolize</code>.</p>
|
||||
<p>To generate docs (e.g. as part of make distcheck) you'll also need:</p><ul>
|
||||
<li><code>doxygen>=1.8.13</code></li>
|
||||
</ul>
|
||||
<h3>Build instructions:</h3>
|
||||
<p><code>json-c</code> GitHub repo: <a href="https://github.com/json-c/json-c">https://github.com/json-c/json-c</a></p>
|
||||
<p>```sh $ git clone <a href="https://github.com/json-c/json-c.git">https://github.com/json-c/json-c.git</a> $ cd json-c $ sh autogen.sh ```</p>
|
||||
<p>followed by</p>
|
||||
<p>```sh $ ./configure # –enable-threading $ make $ make install ```</p>
|
||||
<p>To build and run the test programs:</p>
|
||||
<p>```sh $ make check $ make USE_VALGRIND=0 check # optionally skip using valgrind ```</p>
|
||||
<h2>Install prerequisites <a class="anchor" id="installprereq"></a> </h2>
|
||||
<p>If you are on a relatively modern system, you'll likely be able to install the prerequisites using your OS's packaging system.</p>
|
||||
<h3>Install using apt (e.g. Ubuntu 16.04.2 LTS)</h3>
|
||||
<p>```sh sudo apt install git sudo apt install autoconf automake libtool sudo apt install valgrind # optional ```</p>
|
||||
<p>Then start from the "git clone" command, above.</p>
|
||||
<h3>Manually install and build autoconf, automake and libtool</h3>
|
||||
<p>For older OS's that don't have up-to-date version of the packages will require a bit more work. For example, CentOS release 5.11, etc...</p>
|
||||
<p>```sh curl -O <a href="http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz">http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz</a> curl -O <a href="http://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz">http://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz</a> curl -O <a href="http://ftp.gnu.org/gnu/libtool/libtool-2.2.6b.tar.gz">http://ftp.gnu.org/gnu/libtool/libtool-2.2.6b.tar.gz</a></p>
|
||||
<p>tar xzf autoconf-2.69.tar.gz tar xzf automake-1.15.tar.gz tar xzf libtool-2.2.6b.tar.gz</p>
|
||||
<p>export PATH=${HOME}/ac_install/bin:$PATH</p>
|
||||
<p>(cd autoconf-2.69 && \ ./configure –prefix ${HOME}/ac_install && \ make && \ make install)</p>
|
||||
<p>(cd automake-1.15 && \ ./configure –prefix ${HOME}/ac_install && \ make && \ make install)</p>
|
||||
<p>(cd libtool-2.2.6b && \ ./configure –prefix ${HOME}/ac_install && \ make && \ make install) ```</p>
|
||||
<h2>Building with partial threading support <a class="anchor" id="buildthreaded"></a> </h2>
|
||||
<p>Although json-c does not support fully multi-threaded access to object trees, it has some code to help make use in threaded programs a bit safer. Currently, this is limited to using atomic operations for <a class="el" href="json__object_8h.html#a675aa3a9cced685dbfd1c1a770a0c3e4">json_object_get()</a> and <a class="el" href="json__object_8h.html#afabf61f932cd64a4122ca8092452eed5">json_object_put()</a>.</p>
|
||||
<p>Since this may have a performance impact, of at least 3x slower according to <a href="https://stackoverflow.com/a/11609063,">https://stackoverflow.com/a/11609063,</a> it is disabled by default. You may turn it on by adjusting your configure command with: –enable-threading</p>
|
||||
<p>Separately, the default hash function used for object field keys, lh_char_hash, uses a compare-and-swap operation to ensure the randomly seed is only generated once. Because this is a one-time operation, it is always compiled in when the compare-and-swap operation is available.</p>
|
||||
<h2>Linking to <code>libjson-c</code> <a class="anchor" id="linking"></a> </h2>
|
||||
<p>If your system has <code>pkgconfig</code>, then you can just add this to your <code>makefile</code>:</p>
|
||||
<p>```make CFLAGS += $(shell pkg-config –cflags json-c) LDFLAGS += $(shell pkg-config –libs json-c) ```</p>
|
||||
<p>Without <code>pkgconfig</code>, you would do something like this:</p>
|
||||
<p>```make JSON_C_DIR=/path/to/json_c/install CFLAGS += -I/include/json-c LDFLAGS+= -L/lib -ljson-c ```</p>
|
||||
<h2>Using json-c <a class="anchor" id="using"></a> </h2>
|
||||
<p>To use json-c you can either include <a class="el" href="json_8h.html" title="A convenience header that may be included instead of other individual ones. ">json.h</a>, or preferrably, one of the following more specific header files:</p>
|
||||
<ul>
|
||||
<li><a class="el" href="json__object_8h.html" title="Core json-c API. Start here, or with json_tokener.h. ">json_object.h</a> - Core types and methods.</li>
|
||||
<li><a class="el" href="json__tokener_8h.html" title="Methods to parse an input string into a tree of json_object objects. ">json_tokener.h</a> - Methods for parsing and serializing json-c object trees.</li>
|
||||
<li><a class="el" href="json__pointer_8h.html" title="JSON Pointer (RFC 6901) implementation for retrieving objects from a json-c object tree...">json_pointer.h</a> - JSON Pointer (RFC 6901) implementation for retrieving objects from a json-c object tree.</li>
|
||||
<li><a class="el" href="json__object__iterator_8h.html" title="An API for iterating over json_type_object objects, styled to be familiar to C++ programmers. Unlike json_object_object_foreach() and json_object_object_foreachC(), this avoids the need to expose json-c internals like lh_entry. ">json_object_iterator.h</a> - Methods for iterating over single <a class="el" href="structjson__object.html">json_object</a> instances.</li>
|
||||
<li><a class="el" href="json__visit_8h.html" title="Methods for walking a tree of objects. ">json_visit.h</a> - Methods for walking a tree of json-c objects.</li>
|
||||
<li><a class="el" href="json__util_8h.html" title="Miscllaneous utility functions and macros. ">json_util.h</a> - Miscelleanous utility functions.</li>
|
||||
</ul>
|
||||
<p>For a full list of headers see <a href="files.html">files.html</a> </p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,58 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.8"/>
|
||||
<title>json-c: issues_closed_for_0.13.md File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">json-c
|
||||
 <span id="projectnumber">0.13.1</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.8 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">issues_closed_for_0.13.md File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Mon Mar 5 2018 23:17:09 for json-c by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||