summaryrefslogtreecommitdiffhomepage
path: root/public
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-12-12 09:27:10 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-12-12 09:28:17 +0100
commitdafb757549b5238f67c49b2c8c0a1b44aedf0bd4 (patch)
tree4ba7e264247736115e820c9a1babc3c0c4a2a701 /public
parent2035b324141cbebb1f51a13a28046fbde2735c96 (diff)
chore: make Ref `operator bool` explicit, remove useless `MUST_PASS` in TLS.inl, use `CFRef` in LaunchHelpers.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'public')
-rw-r--r--public/frameworks/LaunchHelpers.fwrk/headers/Foundation.h14
-rw-r--r--public/frameworks/LaunchHelpers.fwrk/src/Foundation.cc4
2 files changed, 14 insertions, 4 deletions
diff --git a/public/frameworks/LaunchHelpers.fwrk/headers/Foundation.h b/public/frameworks/LaunchHelpers.fwrk/headers/Foundation.h
index b20ca17e..cba2e7c4 100644
--- a/public/frameworks/LaunchHelpers.fwrk/headers/Foundation.h
+++ b/public/frameworks/LaunchHelpers.fwrk/headers/Foundation.h
@@ -20,17 +20,27 @@ inline constexpr auto kMaxArgs = 256;
struct LHLaunchInfo final {
CF::CFString fExecutablePath{kMaxPath};
CF::CFString fWorkingDirectory{kMaxPath};
- CF::CFString fArguments[kMaxArgs];
+ CF::CFRef<CF::CFString> fArguments[kMaxArgs];
CF::CFString fEnvironment{kMaxPath};
CF::CFInteger64 fUID{0};
CF::CFInteger64 fGID{0};
+ LHLaunchInfo() = default;
+ ~LHLaunchInfo() = default;
+
+ LIBSYS_COPY_DELETE(LHLaunchInfo)
+
explicit operator bool() { return fUID && fGID; }
+
+ CF::CFRef<CF::CFString>* begin() { return fArguments; }
+ CF::CFRef<CF::CFString>* end() { return fArguments + kMaxArgs; }
+
+ SizeT size() { return kMaxArgs; }
};
using LHLaunchInfoPtr = LHLaunchInfo*;
/// @brief Get launch information.
/// @return the launch information structure.
-LHLaunchInfo* LHGetLaunchInfo(Void);
+CF::CFRef<LHLaunchInfo> LHGetLaunchInfo(Void);
} // namespace LaunchHelpers \ No newline at end of file
diff --git a/public/frameworks/LaunchHelpers.fwrk/src/Foundation.cc b/public/frameworks/LaunchHelpers.fwrk/src/Foundation.cc
index 6cc3bff3..159ea243 100644
--- a/public/frameworks/LaunchHelpers.fwrk/src/Foundation.cc
+++ b/public/frameworks/LaunchHelpers.fwrk/src/Foundation.cc
@@ -9,7 +9,7 @@
/// @brief Get launch information.
/// @return the launch information structure.
-LaunchHelpers::LHLaunchInfo* LaunchHelpers::LHGetLaunchInfo(Void) {
+CF::CFRef<LaunchHelpers::LHLaunchInfo> LaunchHelpers::LHGetLaunchInfo(Void) {
return static_cast<LaunchHelpers::LHLaunchInfo*>(
- libsys_syscall_arg_1(libsys_hash_64("__LHGetLaunchInfo")));
+ libsys_syscall_arg_1(libsys_hash_64("__LHGetLaunchInfoRef")));
} \ No newline at end of file