##// END OF EJS Templates
branch: allow changing branch of merge commits with --rev...
branch: allow changing branch of merge commits with --rev Tests show that changing branch of merge commits works fine with evolution and without, so let's allow it. Other safeguards should prevent users from shooting themselves in the foot.

File last commit:

r38191:fa0ddd5e default
r40702:69268a13 default
Show More
bdiff.cc
44 lines | 1.0 KiB | text/x-c | CppLexer
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 /*
* bdiff.cc - fuzzer harness for bdiff.c
*
* Copyright 2018, Google Inc.
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
*/
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 #include <memory>
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 #include <stdlib.h>
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 #include "fuzzutil.h"
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 extern "C" {
#include "bdiff.h"
int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
{
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 auto maybe_inputs = SplitInputs(Data, Size);
if (!maybe_inputs) {
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 return 0;
}
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 auto inputs = std::move(maybe_inputs.value());
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
struct bdiff_line *a, *b;
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 int an = bdiff_splitlines(inputs.left.get(), inputs.left_size, &a);
int bn = bdiff_splitlines(inputs.right.get(), inputs.right_size, &b);
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 struct bdiff_hunk l;
bdiff_diff(a, an, b, bn, &l);
free(a);
free(b);
bdiff_freehunks(l.next);
return 0; // Non-zero return values are reserved for future use.
}
#ifdef HG_FUZZER_INCLUDE_MAIN
int main(int argc, char **argv)
{
const char data[] = "asdf";
return LLVMFuzzerTestOneInput((const uint8_t *)data, 4);
}
#endif
} // extern "C"