rizin/librz/util
billow 7a77b8f7bd
linter: update clang-format installation to version 20 (#5451)
* fix: format with clang-format-20
* fix: fix clang-format linter with rewrite '^#define.*/\*.*\\$'
* fix: update clang-format to version 20 in workflows and documentation
* fix: add SPDX license information to .git-blame-ignore-revs
2025-10-12 08:02:03 +08:00
..
float librz/util/float: fix cast of negative zero to integer. (#5291) 2025-08-06 00:06:43 +08:00
ht Improve performance of string search. (#5262) 2025-09-11 22:29:20 +08:00
sdb linter: update clang-format installation to version 20 (#5451) 2025-10-12 08:02:03 +08:00
alloc.c Move rz_mem_alloc() to rz_alloc.h (#3410) 2023-03-01 20:21:26 +08:00
annotated_code.c Add missing vector foreach macros to clang-format cfg (#4456) 2024-04-22 07:16:46 +08:00
ascii_table.c
asn1.c Implement /cm and remove /cd /ca /cr 2025-03-04 02:45:15 +08:00
asn1_oids.h Implement /cm and remove /cd /ca /cr 2025-03-04 02:45:15 +08:00
assert.c
astr.c Refactoring and rename RASN1 to RzASN1 2022-10-09 08:09:00 +08:00
axml.c librz/util: UTF-16/32 to UTF-8 conversion (#5431) 2025-10-05 19:16:53 +08:00
axml_resources.h
base16.c librz/util: base64, base85, base36, base32, base16 support and refactor (#5216) (#5271) 2025-08-17 15:26:25 +08:00
base32.c librz/util: base64, base85, base36, base32, base16 support and refactor (#5216) (#5271) 2025-08-17 15:26:25 +08:00
base36.c librz/util: base64, base85, base36, base32, base16 support and refactor (#5216) (#5271) 2025-08-17 15:26:25 +08:00
base64.c librz/util: base64, base85, base36, base32, base16 support and refactor (#5216) (#5271) 2025-08-17 15:26:25 +08:00
base85.c librz/util: base64, base85, base36, base32, base16 support and refactor (#5216) (#5271) 2025-08-17 15:26:25 +08:00
base91.c
big-gmp.c
big-ssl.c
big.c Remove useless semicolon 2024-03-25 18:36:02 +08:00
bits.c Add a helper function to spread value bits according to mask. 2025-08-20 22:31:02 +08:00
bitvector.c linter: update clang-format installation to version 20 (#5451) 2025-10-12 08:02:03 +08:00
buf.c librz/util: remove const qualifier from buffer. The ownership is transferred. (#5433) 2025-10-05 14:42:10 +08:00
buf_bytes.c RzBuffer consistency and make buffer type public (#4666) 2024-10-12 11:27:21 +02:00
buf_file.c RzBuffer consistency and make buffer type public (#4666) 2024-10-12 11:27:21 +02:00
buf_io.c RzBuffer consistency and make buffer type public (#4666) 2024-10-12 11:27:21 +02:00
buf_io_fd.c RzBuffer consistency and make buffer type public (#4666) 2024-10-12 11:27:21 +02:00
buf_mmap.c util: fix resize of mmap-ed files 2023-04-05 17:15:52 +08:00
buf_ref.c
buf_sparse.c Replaced 'assert()' with 'rz_return_val_if_fail()' (#3813) 2023-09-08 10:27:07 +08:00
calc.c
chmod.c Remove global in chmod.c 2024-01-06 23:30:07 +08:00
compression.c dwarf: fix loading big Zlib sections 2024-08-15 22:51:42 +08:00
debruijn.c Coverity fixes - memory leaks, NULL dereferences (#3339) 2023-02-04 20:01:42 +08:00
ebcdic.c String/Hex-Search 2/9: Improve Unicode support. 2025-02-22 04:12:49 +08:00
event.c Add missing vector foreach macros to clang-format cfg (#4456) 2024-04-22 07:16:46 +08:00
file.c doc: add some rz_file_*() functions descriptions (#4991) 2025-03-12 11:41:17 +08:00
getopt.c
graph.c Add user pointer to RzListComparator (#4204) 2024-02-11 13:28:33 +08:00
graph_drawable.c Add (i)CFG node type annotations + bug fix (#4221) 2024-02-14 23:40:00 +08:00
hex.c librz/util: base64, base85, base36, base32, base16 support and refactor (#5216) (#5271) 2025-08-17 15:26:25 +08:00
idpool.c
intervaltree.c
iterator.c refactor: Use HtSP for storing plugins. (#4687) 2024-10-26 16:31:13 +08:00
itv.c librz/util: implement a bounded interval. (#4977) 2025-03-09 15:24:07 +08:00
json_indent.c librz/core/cmd: convert pj to RzShell (#4726) 2024-11-24 10:20:06 +08:00
json_parser.c Rename RzRune to RzCodePoint. (#4860) 2025-01-24 20:39:04 +08:00
lang_byte_array.c Add missing newlines to some RZ_LOG_* calls (#4439) 2024-04-18 00:04:38 +08:00
lib.c Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
list.c /z: Remove hit dupes (#5029) 2025-03-23 21:08:49 +08:00
log.c Replace rz_core_warn_after_output function with RZ_LOG_WARN_AFTER macro (#5227) 2025-06-27 15:03:42 +08:00
luhn.c
mem.c linter: update clang-format installation to version 20 (#5451) 2025-10-12 08:02:03 +08:00
meson.build Change output of iH to support structured data. (#5263) 2025-08-23 22:23:14 +08:00
name.c Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
path.c Remove Global/Static variables in path.c to make it thread safe (#5148) 2025-06-13 21:34:33 +08:00
pj.c
pkcs7.c Convert pF commands to the rzshell (#3071) 2022-10-09 19:18:05 +02:00
print.c linter: update clang-format installation to version 20 (#5451) 2025-10-12 08:02:03 +08:00
protobuf.c Ownership and doxygen for rz_protobuf_decode 2022-10-09 08:09:00 +08:00
punycode.c
range.c Add user pointer to RzListComparator (#4204) 2024-02-11 13:28:33 +08:00
rbtree.c
README.md librz: add some initial documentation (#3782) 2023-10-13 13:46:19 +08:00
regex.c librz/bin: define string search parameters in plugins (#5406) 2025-10-08 10:02:32 +08:00
serialize_spaces.c sdb: remove unused cas and expire features (#4487) 2024-05-12 18:27:54 +08:00
set.c util: implement iterator for hash tables and sets (#4639) 2024-09-24 21:36:54 +08:00
signal.c
skiplist.c Add user pointer to RzListComparator (#4204) 2024-02-11 13:28:33 +08:00
skyline.c
spaces.c Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
stack.c
str.c librz/bin: define string search parameters in plugins (#5406) 2025-10-08 10:02:32 +08:00
str_constpool.c Add extended insert/update methods for HT (#4489) 2024-05-17 18:06:01 +08:00
str_search.c librz/bin: define string search parameters in plugins (#5406) 2025-10-08 10:02:32 +08:00
str_trim.c Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
strbuf.c Move RzBreakpoint into RzDebug (#5124) 2025-05-13 01:57:37 +08:00
strpool.c
structured_data.c Change output of iH to support structured data. (#5263) 2025-08-23 22:23:14 +08:00
structured_data_json.c Change output of iH to support structured data. (#5263) 2025-08-23 22:23:14 +08:00
structured_data_yaml.c Change output of iH to support structured data. (#5263) 2025-08-23 22:23:14 +08:00
subprocess.c librz/util/subprocess: fix inability to automatically run .com executables (#5312) 2025-08-25 12:20:37 +08:00
sys.c linter: update clang-format installation to version 20 (#5451) 2025-10-12 08:02:03 +08:00
syscmd.c Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
table.c util/table: add basic query tests 2025-06-21 01:31:53 +08:00
thread.c fix pointer casting to integer (#3532) 2023-05-28 19:22:29 +08:00
thread.h
thread_cond.c
thread_hash_table.c Add HtSP, HtSS, HtSU, SetS (#4415) 2024-04-16 20:27:48 +08:00
thread_iterators.c Fix some coverity issues. (#5043) 2025-03-27 12:38:42 +08:00
thread_lock.c
thread_pool.c Revert back only the changes for the threads code and ignores rz-test 2024-06-02 18:11:06 +08:00
thread_queue.c Revert back only the changes for the threads code and ignores rz-test 2024-06-02 18:11:06 +08:00
thread_sem.c subprocess: Protect proc->ret with a semaphore (#4545) 2024-06-19 18:23:12 +08:00
thread_types.c
time.c struct timezone is obsolete/deprecated (#4672) 2024-10-16 17:13:17 +08:00
tree.c
uleb128.c Check we do not shift more than 63. in [us]leb128 2024-09-08 17:34:55 +08:00
unicode.c String/Hex-Search 2/9: Improve Unicode support. 2025-02-22 04:12:49 +08:00
unum.c linter: update clang-format installation to version 20 (#5451) 2025-10-12 08:02:03 +08:00
utf8.c librz/bin: define string search parameters in plugins (#5406) 2025-10-08 10:02:32 +08:00
utf16.c librz/util: UTF-16/32 to UTF-8 conversion (#5431) 2025-10-05 19:16:53 +08:00
utf32.c librz/util: UTF-16/32 to UTF-8 conversion (#5431) 2025-10-05 19:16:53 +08:00
vector.c rz_vector_insert_range: If count is 0, bypass rz_vector_index_ptr() in returning insert addr (#5425) 2025-10-01 22:04:05 +08:00
version.c Remove Global/Static variables in path.c to make it thread safe (#5148) 2025-06-13 21:34:33 +08:00
w32-sys.c
x509.c Refactoring and rename RASN1 to RzASN1 2022-10-09 08:09:00 +08:00
x509.h Refactoring and rename RASN1 to RzASN1 2022-10-09 08:09:00 +08:00

RzUtil

This library contains all common utilities and functions that are used by other modules in the Rizin framework, like string manipulation, data structures (lists, vectors, trees, etc.), JSON parsing/printing, and others.

What can I expect here?

  • Numbers/math functions
  • Functions likely needed across several other modules
  • Data structures: lists, vectors, trees, graphs, skiplist
  • RzBuffer
  • JSON parsing, JSON printing
  • PKCS7
  • BitVector
  • Functions that are very common and not specific to other modules
  • SDB
  • Floating point number operations
  • OS/Platform-independent abstractions for common operations (e.g. rename a file, create temporary file, etc.)