summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Add interface to parse JSON into a tree like structure.Florian Forster2010-08-053-2/+470
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While reading back JSON data from files, I found myself fiddling again and again with the scanner-like (think: lex) interface of <yajl/yajl_parse.h>. I think that the best approach to my problem is to write a *parser*, i.e. a piece of code that gets tokens from the scanner and builds a parse tree out of it. So this is what I did. This doesn't play well with parsing streams, naturally, but that's not my use-case and the stream parsing isn't affected by an additional interface. Please keep in mind that this is work in progress. It's currently not even possible to free the returned structure. I just wanted to push it out there in the hope of some early feedback.
* | | | | Add a generator feature to validate UTF8 strings as they are written to ↵Lloyd Hilaiel2011-04-225-23/+78
| | | | | | | | | | | | | | | | | | | | output. closes #25
* | | | | use new configuration features to simplify the json verifierLloyd Hilaiel2011-04-221-9/+5
| | | | |
* | | | | rename yajl_parse_complete to yajl_complete_parse. the latter is correctly ↵Lloyd Hilaiel2011-04-216-10/+10
| | | | | | | | | | | | | | | | | | | | an imperative, while the former might be confused for a question.
* | | | | rework programmatic configuration of yajl. both generator and parser now ↵Lloyd Hilaiel2011-04-2131-258/+290
| | | | | | | | | | | | | | | | | | | | have a yajl_XXX_config() function that accepts varargs so that configuration is simple, and new config options can be added in the future that preserve backwards binary compatibility. closes #23.
* | | | | oh, ok. osx ld doesn't like more than two digits in shared lib version ↵Lloyd Hilaiel2011-04-201-2/+2
| | | | | | | | | | | | | | | | | | | | numbers. weenies.
* | | | | add tests cases for partial value configLloyd Hilaiel2011-04-209-60/+81
| | | | |
* | | | | cosmetic, indentation and whitespaceLloyd Hilaiel2011-04-202-54/+52
| | | | |
* | | | | yajl 2 will be relicensed under the ISC license. same idea, fewer bytes.Lloyd Hilaiel2011-04-2028-780/+366
| | | | |
* | | | | o closes #5 - replace strtol with own implementation, uses pascal strings.Greg Olszewski2011-04-201-21/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o issue #6 - check a few malloc error cases. Signed-off-by: Lloyd Hilaiel <lloyd@hilaiel.com>
* | | | | add a test case which demonstrates how new parsing configuration in yajl 2.x ↵Lloyd Hilaiel2011-04-202-0/+4
| | | | | | | | | | | | | | | | | | | | closes #7
* | | | | fixes to testing system. allowGarbage is misnamed, it actually means ↵Lloyd Hilaiel2011-04-207-6/+6
| | | | | | | | | | | | | | | | | | | | *forbid* garbage
* | | | | add a missing test case - multiple integers in a streamLloyd Hilaiel2011-04-201-0/+1
| | | | |
* | | | | Parse null bytes correctly.Conrad Irwin2011-04-203-0/+8
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Lloyd Hilaiel <lloyd@hilaiel.com>
* | | | | o rework yajl apiLloyd Hilaiel2011-04-2023-40/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - remove yajl_status_parse_incomplete, replace with three flag settings - yajl_allow_multiple_values - yajl_forbid_trailing_garbage - yajl_forbid_partial_values In the new model, callers must consistently call yajl_parse_complete and check it's return. Two new parse errors have been introduced: "premature EOF" and "trailing garbage". yajl_test.c demonstrates the simplifying effect on calling code. adds 3 flags to yajl_test -g forbids trailing garbage -p forbids partial values -m allows multiple values to be parsed. and complementary tests. lth: Addresses the majority of issue #24. gno is awesomesauce. Signed-off-by: Lloyd Hilaiel <lloyd@hilaiel.com>
* | | | | Merge branch 'master' into 2.xLloyd Hilaiel2011-04-206-20/+69
|\ \ \ \ \ | | |_|_|/ | |/| | |
| * | | | LLVM warningsMirek Rusin2011-04-193-13/+14
| | | | |
| * | | | Don't generate numbers for keys. closes #13Greg Olszewski2011-04-151-6/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check malloc return values where convenient. Check for underflow during generation. Currently, starting a generation with map close or array close segfaults. Check that the indentation configuration provided produces valid json when used. (Merged from gno, closes #21.) Signed-off-by: Lloyd Hilaiel <lloyd@hilaiel.com>
| * | | | add test case and goldfile contributed by karl adamLloyd Hilaiel2011-02-162-0/+9
| | | | |
| * | | | win32 build documentation improvements (I know, that's subjective. But it's ↵Lloyd Hilaiel2010-10-121-8/+10
| | |_|/ | |/| | | | | | | | | | hard to do any worse than lloyd did)
| * | | Include command line building instructions contributed by vikas kumar.Lloyd Hilaiel2010-10-121-2/+15
| | |/ | |/|
* | | Merge branch 'master' into 2.xLloyd Hilaiel2010-08-101-9/+13
|\ \ \ | |/ /
| * | ensure we're using the echo program on the path, at least in snow leopard ↵Lloyd Hilaiel2010-08-101-6/+8
| | | | | | | | | | | | running 'echo -n' under /bin/sh outputs the '-n' rather than parsing it as an argument which means "omit trailing newline"
| * | Fix test for W32John Stamp2010-08-101-3/+5
| | | | | | | | | | | | Signed-off-by: Lloyd Hilaiel <lloyd@hilaiel.com>
* | | use size_t rather than unsigned int for representing buffer lengths for yajl 2.xLloyd Hilaiel2010-08-1018-93/+99
| | |
* | | re-introduce long long type for integer representation now that we require C99Lloyd Hilaiel2010-08-105-10/+10
| | |
* | | adjust version to indicate branch stabilityLloyd Hilaiel2010-08-101-2/+4
|/ /
* | remove bash dependency in run_tests.sh, contributed by http://github.com/baptLloyd Hilaiel2010-08-101-17/+20
| |
* | Don't export private symbolsJohn Stamp2010-08-102-1/+12
| | | | | | | | Signed-off-by: Lloyd Hilaiel <lloyd@hilaiel.com>
* | Install yajl_version.h, not the templateJohn Stamp2010-08-101-1/+2
| | | | | | | | Signed-off-by: Lloyd Hilaiel <lloyd@hilaiel.com>
* | Don't use -fPIC for static lib. Cmake will automatically add it for the shared.John Stamp2010-08-101-1/+1
| | | | | | | | Signed-off-by: Lloyd Hilaiel <lloyd@hilaiel.com>
* | yajl_gen_double now specifies precision to sprintf as %.20g to avoid ↵Lloyd Hilaiel2010-08-101-1/+1
| | | | | | | | premature rounding. closes #15
* | fix paths embedded in dylib upon installation on osx. closes #11Lloyd Hilaiel2010-08-102-4/+7
|/ | | | more
* update Changelog with 1.0.11 changes1.0.11Lloyd Hilaiel2010-07-211-0/+3
|
* gcc 3.4.6 compat, remove -Wno-missing-field-initializersLloyd Hilaiel2010-07-211-1/+1
|
* bump to 1.0.11 after tagging 1.0.10Lloyd Hilaiel2010-07-201-1/+1
|
* changes in 1.0.101.0.10Lloyd Hilaiel2010-07-202-8/+12
|
* replace -ansi with -std=c99, given our dependency on isnan()Lloyd Hilaiel2010-07-201-1/+1
|
* allow builder to specify RPATH in a cmake variable if they so choose - cmake ↵Lloyd Hilaiel2010-07-161-0/+9
| | | | -DYAJL_RPATH_PREFIX=/home/y ..
* include Vitali Lovich's patch to make the yajl version number ↵Lloyd Hilaiel2010-05-253-1/+36
| | | | programatically accessible
* implement Vitali's suggestion of a *cmake* var for lib64 support rather than ↵Lloyd Hilaiel2010-03-252-5/+5
| | | | *environment* variable
* support installation into lib64 via an environment variable 'LIB_SUFFIX' ↵Lloyd Hilaiel2010-03-252-2/+8
| | | | (contributed by Vitali Lovich)
* don't ignore environmentally defined CFLAGS when present in the environment ↵Lloyd Hilaiel2010-03-251-1/+2
| | | | (contributed by Daniel P. Berrange)
* When building on OS-X with CMake version 2.8.0 with an explicitBrian Maher2010-01-301-2/+1
| | | | | | | | | | | | | CMAKE_INSTALL_PREFIX definition, the header files don't get installed, unless I make this change. It appears to me that CMake won't traverse into the api/ directory since that directory does not terminate in *.h. If you try to change the pattern to api/*.h, then the api directory still doesn't match. However, since only the "exported" headers are in the api directory, we might as well just tell cmake to install it all. I can only guess that this must be a bug with CMake version 2.8.0.
* Mark project as 'C' project so C++ compiler is not required to beBrian Maher2010-01-302-2/+6
| | | | | | installed. Also, on Ubuntu, when I explicitly set the build output directory, the tests don't run because the run_tests.sh script assumes that ../build is where the build output directory is.
* update all them dates.Lloyd Hilaiel2010-01-0827-27/+27
|
* bump trunk to 1.0.10 after tagging 1.0.9Lloyd Hilaiel2010-01-081-1/+1
|
* document issue #10 in changelog1.0.9Lloyd Hilaiel2010-01-081-0/+4
|
* fix flipped logic for isinf() definition on windows. [closes #10]Lloyd Hilaiel2010-01-081-1/+1
|
* bump master branch to 1.0.9 after tagging 1.0.8Lloyd Hilaiel2009-12-181-1/+1
|