forked from lix-project/lix
Move some code
This commit is contained in:
parent
b4edc3ca61
commit
ac9cc2ec08
|
@ -19,4 +19,15 @@ std::ostream & operator << (std::ostream & str, const String & s)
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
size_t Source::sourceWrapper(void * _this, rust::Slice<uint8_t> data)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
// FIXME: how to propagate exceptions?
|
||||||
|
auto n = ((nix::Source *) _this)->read((unsigned char *) data.ptr, data.size);
|
||||||
|
return n;
|
||||||
|
} catch (...) {
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,12 +140,7 @@ struct Source
|
||||||
: fun(sourceWrapper), _this(&_this)
|
: fun(sourceWrapper), _this(&_this)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
// FIXME: how to propagate exceptions?
|
static size_t sourceWrapper(void * _this, rust::Slice<uint8_t> data);
|
||||||
static size_t sourceWrapper(void * _this, rust::Slice<uint8_t> data)
|
|
||||||
{
|
|
||||||
auto n = ((nix::Source *) _this)->read((unsigned char *) data.ptr, data.size);
|
|
||||||
return n;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* C++ representation of Rust's Result<T, CppException>. */
|
/* C++ representation of Rust's Result<T, CppException>. */
|
||||||
|
|
Loading…
Reference in a new issue