* libr/bin: no need to allocate RBinOptions on the heap
* bin: start using r_return_* around, that's just the beginning
* bin: remove io_owned since it's not used anywhere
* io: make r_io_bind return nothing
* bin: remove unused functions and simplify r_bin_load_io
r_bin_load_io was calling r_bin_load_io2 with UT64_MAX as sz parameter,
but r_bin_load_io2 just returns false if (st64)sz is less than 0, so
that call is actually useless and can be removed.
* bin/bin: fix some preconditions
* bin/open: fix precondition to check for bin and filename too
`GUIDSTR_LEN` is currently set to 34, which gives 32 characters for the PDB GUID, 1 character for the PDB age (which is tacked on the end), and the null terminator. However, PDB ages are stored as a uint32, and can thus have a maximum value of `0xFFFFFFFF`, which requires up to 8 characters. PDB ages over 15 can easily be reached by automatic build processes using incremental linking.
* bin/format/pe: fix gcc8 warnings
* bin/p: fix gcc8 warnings
* io/io_r2pipe: fix gcc8 warnings and style
* clang-format: do not sort includes, it may break stuff
* use sizeof instead of macros
Apple toolchain and LLVM provides closure extension for C/C++,
using as possible the most reliable identifier rather than
functions owners where names can appear too generics.
* format/elf: fix is_in_pphdr function
That function should check if an address is in the file "side" of the
phdr, so it should check for filesz and not memsz
* format/elf: consider filesz even when looking at virtual space
A virtual address that is included in p_memsz but not in p_filesz, means
that it's an address that has no counterpart in the physical file, does
it makes no sense to look at memsz when converting an address from
virtual to physical.
* bin/demangle: demangle names that end with @@CXXABI
After last commit, we get correct mangled names that, according to other
tools, include also the @@CXXABI part. This patch removes the @@CXXABI
suffix because the cplus_demangle_v3 function is not able to deal with
it.