mirror of
https://github.com/maxgoedjen/secretive.git
synced 2026-06-23 05:08:58 +02:00
Fix compiler diff for unsafe
This commit is contained in:
@@ -149,14 +149,7 @@ private extension SocketPort {
|
|||||||
|
|
||||||
convenience init(path: String) {
|
convenience init(path: String) {
|
||||||
var addr = sockaddr_un()
|
var addr = sockaddr_un()
|
||||||
|
let length = addr.setPath(path)
|
||||||
let length = unsafe withUnsafeMutablePointer(to: &addr.sun_path.0) { pointer in
|
|
||||||
unsafe path.withCString { cstring in
|
|
||||||
let len = unsafe strlen(cstring)
|
|
||||||
unsafe strncpy(pointer, cstring, len)
|
|
||||||
return len
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// This doesn't seem to be _strictly_ neccessary with SocketPort.
|
// This doesn't seem to be _strictly_ neccessary with SocketPort.
|
||||||
// but just for good form.
|
// but just for good form.
|
||||||
addr.sun_family = sa_family_t(AF_UNIX)
|
addr.sun_family = sa_family_t(AF_UNIX)
|
||||||
@@ -169,6 +162,30 @@ private extension SocketPort {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private extension sockaddr_un {
|
||||||
|
|
||||||
|
mutating func setPath(_ path: String) -> Int {
|
||||||
|
#if compiler(<6.4)
|
||||||
|
unsafe withUnsafeMutablePointer(to: &addr.sun_path.0) { pointer in
|
||||||
|
unsafe path.withCString { cstring in
|
||||||
|
let len = unsafe strlen(cstring)
|
||||||
|
unsafe strncpy(pointer, cstring, len)
|
||||||
|
return len
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
withUnsafeMutablePointer(to: &self.sun_path.0) { pointer in
|
||||||
|
path.withCString { cstring in
|
||||||
|
let len = unsafe strlen(cstring)
|
||||||
|
unsafe strncpy(pointer, cstring, len)
|
||||||
|
return len
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// Changes the header from `UnsafeMutablePointer<UnsafeMutablePointer<Int32>?>?` -> `UnsafeMutablePointer<UnsafeMutablePointer<Int32>?>!`
|
// Changes the header from `UnsafeMutablePointer<UnsafeMutablePointer<Int32>?>?` -> `UnsafeMutablePointer<UnsafeMutablePointer<Int32>?>!`
|
||||||
@_silgen_name("launch_activate_socket")
|
@_silgen_name("launch_activate_socket")
|
||||||
func launch_activate_socket(_ name: UnsafePointer<CChar>, _ fds: UnsafeMutablePointer<UnsafeMutablePointer<Int32>?>!, _ cnt: UnsafeMutablePointer<Int>!) -> Int32
|
func launch_activate_socket(_ name: UnsafePointer<CChar>, _ fds: UnsafeMutablePointer<UnsafeMutablePointer<Int32>?>!, _ cnt: UnsafeMutablePointer<Int>!) -> Int32
|
||||||
|
|||||||
Reference in New Issue
Block a user