Commit Graph

15 Commits

Author SHA1 Message Date
Jeffrey 1ce9e9cda4 Remove dead code from parserse_base_utils and fix unit tests
* Remove `match_string()`, `match_number()`, and `match_word()`
* Remove `match_word_with_extrasymb()` and `match_word_til_equal_mark()`
* Adapt unit test for `match_number()` to `match_number2()`
* Adapt unit test for `match_string()` to `match_string2()`

Note: the unit tests were testing for the old version of the functions, and
the interfaces for these functions changed slightly, so I had to also edit
the tests.

As of writing, this PR has no merge conflicts with #8211

Additional changes during review:
* Explicitly set up is_[float/signed]_val to be changed before each call
* Structify the tests and fix uninitialized variables
2022-03-30 13:29:32 -05:00
mj-xmr c19f0cbdea
Compil time: move epee storages/parserse_base_utils.h to parserse_base_utils.cpp 2021-06-11 21:20:51 +02:00
moneromooo-monero 3721d5688f epee: fix array underflow in unicode parsing
Reported by minerscan

Also independently found by OSS-Fuzz just recently
2020-06-21 18:22:16 +00:00
Lee Clagett 5fcc23ae0a Move hex->bin conversion to monero copyright files and with less includes 2020-03-09 05:23:59 +00:00
Lee Clagett a9bdc6e4c4 Improved performance for epee serialization:
- Removed copy of field names in binary deserialization
  - Removed copy of array values in binary deserialization
  - Removed copy of string values in json deserialization
  - Removed unhelpful allocation in json string value parsing
  - Removed copy of blob data on binary and json serialization
2019-11-04 01:46:41 +00:00
moneromooo-monero eeca5ca0c8
epee: support unicode in parsed strings 2019-08-16 17:06:03 +00:00
moneromooo-monero 59776a64ff
epee: some more minor JSON parsing speedup 2019-03-25 14:29:29 +00:00
moneromooo-monero 21777daf6e
epee: speedup word/number matching
Number matching semantics are slightly changed: since this is used
as a filter to check whether a number is signed and/or floating
point, we can speed this up further. strto* functions are called
afterwards and will error out where necessary. We now also accept
numbers like .4 which were not accepted before.

The strto* calls on a boost::string_ref will not access unallocated
memory since the parsers always stop at the first bad character,
and the original string is zero terminated.

in arbitrary time measurement units for some arbitrary test case:

match_number2: 235 -> 70
match_word2: 330 -> 108
2019-01-16 19:59:40 +00:00
moneromooo-monero a13eb0a1a4
epee: speed up string matching a bit 2018-12-08 02:00:37 +00:00
moneromooo-monero 07c6280909
epee: some minor speedup in parsing 2018-10-24 08:34:25 +00:00
moneromooo-monero 76affd941b
epee: some speedup in parsing 2018-08-19 15:29:01 +00:00
Riccardo Spagni f4b69d553a
year updated in license 2015-01-02 18:52:46 +02:00
fluffypony 32f9d2b783 move modified epee code to new classes, revert license 2014-07-25 18:29:08 +02:00
fluffypony 6fc995fe5d License updated to BSD 3-clause 2014-07-23 15:03:52 +02:00
Antonio Juarez 296ae46ed8 moved all stuff to github 2014-03-03 22:07:58 +00:00