topjohnwu
ef4e230258
Use nix for libc functions
2025-09-08 23:59:29 -07:00
topjohnwu
17082af438
Simplify OsError
2025-09-08 11:25:20 -07:00
topjohnwu
1df5b34175
Stop differentiate Error vs ErrorCxx
2025-09-08 11:25:18 -07:00
topjohnwu
bc89c60977
Run cargo fmt
2025-09-02 22:06:08 -07:00
topjohnwu
484d53ef7e
Update to ONDK r29.2
2025-08-28 16:15:59 -07:00
topjohnwu
2e4fa6864c
Make Utf8CStr a first class citizen in C++ codebase
...
Utf8CStr is in many cases a better string view class than
std::string_view, because it provides "view" access to a string buffer
that is guaranteed to be null terminated. It also has the additional
benefit of being UTF-8 verified and can seemlessly cross FFI boundaries.
We would want to start use more Utf8CStr in our existing C++ codebase.
2025-08-27 22:48:48 -07:00
topjohnwu
b861671391
Cleanup libbase
2025-08-25 01:31:47 -07:00
topjohnwu
e91fc75d86
Consolidate for_each implementation into Rust
2025-08-25 01:31:47 -07:00
topjohnwu
3327fc668e
Remove FsPath and FsPathMnt trait
...
Directly use Utf8CStr
2025-04-28 17:22:14 -07:00
topjohnwu
e02b5f7868
Rename cstr_buf to cstr::buf
2025-04-22 03:21:00 -07:00
topjohnwu
f3fef7bfe4
Make FsPath a trait
2025-04-22 03:21:00 -07:00
topjohnwu
f063fa5054
Cleanup xwrap implementation
2025-04-15 00:18:48 -07:00
topjohnwu
7bd901273c
Provide richer error messages
...
Make sure most syscall/libc calls results are mapped to OsResult
that can produce more detailed error messages.
2025-04-15 00:18:48 -07:00
topjohnwu
9c7d359093
Optimize and format imports
...
[skip ci]
2025-04-08 09:57:09 -07:00
topjohnwu
c90e73ccec
Migration to Edition 2024
2025-03-07 02:35:25 -08:00
topjohnwu
363410e1c0
Introduce cstr_buf helper functions
2025-02-17 11:32:21 -08:00
topjohnwu
c578cccfd5
Update to ONDK r27.4
2024-08-11 04:16:19 -07:00
topjohnwu
5ac7dc0b37
Support vendor boot unpack/repack
...
Fix #6460 , close #6620
2024-07-30 04:00:12 -07:00
topjohnwu
73c3d741a7
Reorganize some code
2024-03-06 18:07:01 -08:00
topjohnwu
65207f96c8
Create custom cxx binding to Utf8CStr
2023-12-26 23:10:55 +08:00
topjohnwu
6e7a995716
Introduce UtfCString
2023-09-27 15:21:24 -07:00
topjohnwu
a55d570213
Move more I/O operations into Rust
2023-09-27 02:28:43 -07:00
topjohnwu
15e13a8d8b
Organize logging code
2023-09-19 03:02:30 -07:00
topjohnwu
89aee6ffa7
Add more to the Utf8CStr family
...
Better C strings with path operations
2023-09-12 17:35:01 -07:00
topjohnwu
e8e8afa6c2
Properly handle visibility
2023-07-06 11:12:27 -07:00
topjohnwu
4ee4cbada6
Standardize logging and error handling
...
- Introduce new types: LoggedResult and LoggedError
- Introduce new extension methods to log and add additional msgs
- Never exit when logging error messages in Rust (all errors should be
handled by using Result and Rust's error propagation)
- Remove all usages of anyhow as it doesn't fit Magisk's use cases
2023-06-29 17:14:53 -07:00
topjohnwu
cb3ab63815
Replace all CStr usage to Utf8CStr
2023-06-12 13:57:15 -07:00
topjohnwu
23c1f0111b
Improve Rust implementation
...
- Move mmap_file implementation into Rust
- Introduce Utf8CStr as the better c-string type to use
2023-06-12 02:40:50 -07:00
topjohnwu
40f25f4d56
Introduce directory traversal
2023-06-09 02:00:37 -07:00