fix(zmq): Corrected error bindings.

This commit is contained in:
2026-07-08 14:41:47 -04:00
parent ad43577b44
commit 170182b747
3 changed files with 225 additions and 19 deletions
+1 -19
View File
@@ -59,35 +59,17 @@ Flags :: bit_set[Flag;c.int]
NoBlock :: Flags{.DONTWAIT}
HAUSNUMERO :: 156384712
ZMQ_Error :: enum c.int {
EFSM = HAUSNUMERO + 51,
ENOCOMPATPROTO = HAUSNUMERO + 52,
ETERM = HAUSNUMERO + 53,
EMTHREAD = HAUSNUMERO + 54,
}
Error :: union #shared_nil {
os.Platform_Error,
ZMQ_Error,
}
last_error :: proc() -> Error {
raw := errno()
if raw >= HAUSNUMERO {
return ZMQ_Error(raw)
}
return os.Platform_Error(raw)
}
strerror :: proc(e: Error) -> cstring {
switch v in e {
case os.Platform_Error:
return _strerror(c.int(v))
case ZMQ_Error:
return _strerror(c.int(v))
return _strerror(denormalize_from_zmq(c.int(v)))
case:
return _strerror(0)
}