mirror of https://github.com/Wilfred/difftastic/
17 lines
492 B
Plaintext
17 lines
492 B
Plaintext
use rt;
|
|
|
|
// Wraps an [rt::errno] to produce an [errors::opaque]. This is a non-portable
|
|
// interface which is mainly provided to support internal stdlib requirements.
|
|
export fn errno(errno: rt::errno) opaque = {
|
|
static assert(size(rt::errno) <= size(opaque_data));
|
|
let err = opaque { strerror = &rt_strerror, ... };
|
|
let ptr = &err.data: *rt::errno;
|
|
*ptr = errno;
|
|
return err;
|
|
};
|
|
|
|
fn rt_strerror(err: *opaque_data) const str = {
|
|
let err = &err: *rt::errno;
|
|
return rt::strerror(*err);
|
|
};
|