Joshua Haberman
88cc3f2fc8
Progress implementing upb_msg.
16 years ago
Joshua Haberman
edd137fe99
Two small fixes.
16 years ago
Joshua Haberman
0f26f51486
Fix varint-skipping (oops).
16 years ago
Joshua Haberman
e3905b425a
Simplified the varint-skipping function.
16 years ago
Joshua Haberman
9f80d0d60e
Do unaligned reads if UPB_UNALIGNED_READS_OK is defined.
...
Also removed commented-out alternate implementations for
varint-reading code (they are still in the history).
16 years ago
Joshua Haberman
79d57263f5
Improvements to one-branch varint reading function.
16 years ago
Joshua Haberman
d1aa095cb3
High-level parsing interface written (not yet tested).
16 years ago
Joshua Haberman
b04a376636
Alternative (optimized) implementations of varint parsing.
16 years ago
Joshua Haberman
bc717d8402
Implement inlining that works with both C99 and all versions of GCC.
16 years ago
Joshua Haberman
d1f78c88fa
A bunch more work, a fast table for field lookup.
16 years ago
Joshua Haberman
0c80c38475
A flurry of activity. Doesn't compile yet.
...
- a descriptor.c that describes the data structures in
descriptor.proto using the data structures in descriptor.h.
- everything renamed pbstream -> upb.
- modularization rethought.
- Doesn't compile yet, but should once things settle back down.
16 years ago
Joshua Haberman
a714989094
Detect overflow (unlikely except for malicious input).
16 years ago
Joshua Haberman
5f2344e480
Fixed off-by-one error in hashtable calculation.
16 years ago
Joshua Haberman
6e67cb48ef
Fixed bugs that lint caught.
16 years ago
Joshua Haberman
268bb50e80
Enabled more warnings, fixed the warnings.
16 years ago
Joshua Haberman
c8d67b2686
More refactoring of structures.
...
pbstream_internal.h is now where even lower-level parsing
functions go.
16 years ago
Joshua Haberman
73ab650ad1
Added function for skipping data.
16 years ago
Joshua Haberman
5a31f694a7
Implemented the array part of the fieldnum lookup.
16 years ago
Joshua Haberman
e195d5379d
Since the stack has a fixed size, don't allocate dynamically.
16 years ago
Joshua Haberman
eaa0cdd6a1
Oops, malloc(array[int]) didn't do what I thought.
16 years ago
Joshua Haberman
d351981f9e
Change to a fixed stack size.
...
Proto2 only allows a nesting depth of 64, so we follow suit.
16 years ago
Joshua Haberman
e67f5d5f02
Less code duplication, joy.
16 years ago
Joshua Haberman
47fb22194c
Another test, another bugfix.
16 years ago
Joshua Haberman
e6b461c84a
More tests and bugfixes -- parses its first proto!
16 years ago
Joshua Haberman
73978bfc74
API cleanup.
16 years ago
Joshua Haberman
1aa1627fc1
Implemented the _init_parser() function.
16 years ago
Joshua Haberman
afe132eb10
Remove DYNARRAY for the stack (wasn't buying much).
16 years ago
Joshua Haberman
446d7c27ee
Rip out more stuff that belongs in higher layers.
16 years ago
Joshua Haberman
537ca81ada
Credit where credit is due.
16 years ago
Joshua Haberman
ecd855279d
Removed CALLBACK() macro and struct of callbacks.
16 years ago
Joshua Haberman
7fefc5c875
Removed DECODE macro (wasn't buying much).
...
Also decided that groups aren't a TODO -- I don't plan to ever
support them (unless there is a real need).
16 years ago
Joshua Haberman
a0a99811be
Removed bounds checking, for speed and simplicity.
...
Callers must always over-allocate their buffer by at least
ten bytes. Since we will never read *more* than ten bytes,
there is no need to do bounds checking inside the parsing
code.
16 years ago
Joshua Haberman
a38b191e8d
Move submessage begin code to handler as well.
16 years ago
Joshua Haberman
faf6b5f3bf
Massive changes (practically a rewrite). More compact and minimal.
...
Still doesn't actually work yet, but much closer.
16 years ago
Joshua Haberman
75ee6df2ff
Newfound respect for 80 characters and for terseness.
16 years ago
Joshua Haberman
71311920a9
Fully add tests (oops) and bugfixes.
16 years ago
Joshua Haberman
9f2f5e18f1
Small tweaks.
16 years ago
Joshua Haberman
b98433ce8c
Implementations for ZigZag decoding.
16 years ago
Joshua Haberman
d29a54fc97
Initial commit.
16 years ago