* Refactored string search string search logic moved from librz/bin/bfile.c to librz/util/str_search.c * UTF-16BE and UTF-32BE support * Decoupled rz_str_search with rz_bin * Changed parameter order in rz_scan_strings * Fixed needle reset in rz_string_search Now when the string search fails, needle is restored to original_needle+1, i.e., we continue the searching process starting from the next byte. * Changed heuristic for UTF BE detection one more byte in for the detection (6 instead of 5) * Fixed unit test in str_search * Refactored rz_scan_strings and better UTF16-LE and UTF16-BE detection Now if there is an ambiguity between UTF16-LE and UTF16-BE, we take the longest one. * Changed UTF BE heuristic If there is any ambiguity about big-endian or little-endian, always choose little endian * Small format fixes in str_search * Added preferred endianess switch in RzUtilStrScanOptions * Fixed str_search regression tests
11 lines
336 B
C
11 lines
336 B
C
#ifndef RZ_UTF32_H
|
|
#define RZ_UTF32_H
|
|
|
|
/* For RzRune definition */
|
|
#include "rz_utf8.h"
|
|
|
|
RZ_API int rz_utf32_decode(const ut8 *ptr, int ptrlen, RzRune *ch, bool bigendian);
|
|
RZ_API int rz_utf32le_decode(const ut8 *ptr, int ptrlen, RzRune *ch);
|
|
RZ_API int rz_utf32be_decode(const ut8 *ptr, int ptrlen, RzRune *ch);
|
|
|
|
#endif // RZ_UTF32_H
|