json: Correct position tracking in JSON parser implementations.
authorBen Pfaff <blp@nicira.com>
Thu, 26 Apr 2012 16:48:28 +0000 (09:48 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 26 Apr 2012 16:48:28 +0000 (09:48 -0700)
commitc640c04f643f9cd9c9b88a9989590e8a02954f7f
treea9381541cb9ccc8cc4a5caf38cdfaf6e51fb85bc
parent3a4548cfb2fb7e7344618f449ab9bf651ef83e6b
json: Correct position tracking in JSON parser implementations.

When json_lex_input() returns false, the parser does not consume the byte
passed in.  That byte will get processed again in the next iteration of
the json_parser_feed() loop.  Therefore, until now, this code has
double-counted bytes that cause a false return from json_lex_input().

This fixes the problem.  Every input byte is now counted only once.

Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/json.c
python/ovs/json.py
tests/ovsdb-log.at