lemon: sync with upstream (2018-09-08)
authorPeter Wu <peter@lekensteyn.nl>
Sat, 20 Oct 2018 17:29:43 +0000 (19:29 +0200)
committerAnders Broman <a.broman58@gmail.com>
Sun, 21 Oct 2018 07:00:05 +0000 (07:00 +0000)
commit7ce9081fdcf48085611d2de6db0964dffd9ae700
tree0c42162c5236825e29c65b43846b18a2412d35ca
parentbb2caa2a9fcb131ad47b4648dd196cc278847d85
lemon: sync with upstream (2018-09-08)

Changes:
- Drop the old basename modification that was present in the Wireshark
  version of lemon.c. Use a new option available since 2018-04-20
  ("Add the -dDIRECTORY command-line option to LEMON.")
- Redo the static analyzer warning fixes, identifying the root causes
  and adding assertions instead of hiding code with __clang_analyzer__.
- Ignore compiler warnings instead of adding config.h, _U_, extra const
  keywords, unsigned/signed changes, etc.
- Remove lemon.html, it is out-of-date and external links are available.

In order to make future updates easier, document the exact steps that
were followed to create the lemon.c and lempar.c files. Future changes
SHOULD follow the same process.

My process to reach this updated lemon version:
1. Identify previous sync. Found v2.5.2rc0-147-g653af0f6d0 ("lemon: Sync
   with latest trunk.") which seems based on sqlite commit 2b3d584ffe.
2. Check successive Wireshark patches. Identified many non-functional
   changes to silence compiler warnings and static analyzer issues.
   Found one feature (basename) that can be replaced with upstream -d.
3. Write minimal patches and document changes.

Upstream typos and coding style issues (other than trailing whitespace)
were deliberately not fixed to remain as close as possible to upstream.

Change-Id: I606f46dede86e34520f962a9e7163912392aad57
Reviewed-on: https://code.wireshark.org/review/30290
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
15 files changed:
cmake/modules/UseLemon.cmake
tools/lemon/CMakeLists.txt
tools/lemon/README
tools/lemon/apply-patches.sh [new file with mode: 0755]
tools/lemon/lemon.c
tools/lemon/lemon.html [deleted file]
tools/lemon/lempar.c
tools/lemon/patches/01-lempar-wireshark-warnings.patch [new file with mode: 0644]
tools/lemon/patches/02-lemon-fix-dead-store.patch [new file with mode: 0644]
tools/lemon/patches/03-lemon-null-deref-fp.patch [new file with mode: 0644]
tools/lemon/patches/04-lemon-struct-copy-memleak-fp.patch [new file with mode: 0644]
tools/lemon/patches/05-lemon-memleak-alloc-failure.patch [new file with mode: 0644]
tools/lemon/patches/06-lemon-memleak-template-assumption.patch [new file with mode: 0644]
tools/lemon/patches/07-lemon-fix-reporttable-memleak.patch [new file with mode: 0644]
tools/lemon/patches/08-lemon-stp-memleak-fp.patch [new file with mode: 0644]