fix(windows): prevent @intCast crash on windows
This commit is contained in:
parent
5ba56ab5c7
commit
379b7e8abf
5 changed files with 15 additions and 10 deletions
|
@ -5,11 +5,13 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <inttypes.h>
|
||||
|
||||
struct thespian_metronome_handle;
|
||||
struct thespian_metronome_handle *
|
||||
thespian_metronome_create_ms(unsigned long ms);
|
||||
thespian_metronome_create_ms(uint64_t ms);
|
||||
struct thespian_metronome_handle *
|
||||
thespian_metronome_create_us(unsigned long us);
|
||||
thespian_metronome_create_us(uint64_t us);
|
||||
int thespian_metronome_start(struct thespian_metronome_handle *);
|
||||
int thespian_metronome_stop(struct thespian_metronome_handle *);
|
||||
void thespian_metronome_destroy(struct thespian_metronome_handle *);
|
||||
|
|
|
@ -2,16 +2,19 @@
|
|||
|
||||
#include <cbor/c/cbor.h>
|
||||
|
||||
|
||||
// NOLINTBEGIN(modernize-use-trailing-return-type)
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <inttypes.h>
|
||||
|
||||
struct thespian_timeout_handle;
|
||||
struct thespian_timeout_handle *
|
||||
thespian_timeout_create_ms(unsigned long ms, cbor_buffer m);
|
||||
thespian_timeout_create_ms(uint64_t ms, cbor_buffer m);
|
||||
struct thespian_timeout_handle *
|
||||
thespian_timeout_create_us(unsigned long us, cbor_buffer m);
|
||||
thespian_timeout_create_us(uint64_t us, cbor_buffer m);
|
||||
int thespian_timeout_cancel(struct thespian_timeout_handle *);
|
||||
void thespian_timeout_destroy(struct thespian_timeout_handle *);
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ using thespian::stop_metronome;
|
|||
|
||||
extern "C" {
|
||||
|
||||
auto thespian_metronome_create_ms(unsigned long ms)
|
||||
auto thespian_metronome_create_ms(uint64_t ms)
|
||||
-> thespian_metronome_handle * {
|
||||
try {
|
||||
auto *handle = thespian::create_metronome(milliseconds(ms)).ref.release();
|
||||
|
@ -27,7 +27,7 @@ auto thespian_metronome_create_ms(unsigned long ms)
|
|||
return nullptr;
|
||||
}
|
||||
}
|
||||
auto thespian_metronome_create_us(unsigned long us)
|
||||
auto thespian_metronome_create_us(uint64_t us)
|
||||
-> thespian_metronome_handle * {
|
||||
try {
|
||||
auto *handle = thespian::create_metronome(microseconds(us)).ref.release();
|
||||
|
|
|
@ -13,7 +13,7 @@ using thespian::timeout_ref;
|
|||
|
||||
extern "C" {
|
||||
|
||||
auto thespian_timeout_create_ms(unsigned long ms, cbor_buffer m)
|
||||
auto thespian_timeout_create_ms(uint64_t ms, cbor_buffer m)
|
||||
-> thespian_timeout_handle * {
|
||||
try {
|
||||
cbor::buffer buf;
|
||||
|
@ -31,7 +31,7 @@ auto thespian_timeout_create_ms(unsigned long ms, cbor_buffer m)
|
|||
return nullptr;
|
||||
}
|
||||
}
|
||||
auto thespian_timeout_create_us(unsigned long us, cbor_buffer m)
|
||||
auto thespian_timeout_create_us(uint64_t us, cbor_buffer m)
|
||||
-> thespian_timeout_handle * {
|
||||
try {
|
||||
cbor::buffer buf;
|
||||
|
|
|
@ -681,11 +681,11 @@ pub const timeout = struct {
|
|||
const Self = @This();
|
||||
|
||||
pub fn init(tick_time_us: u64, m: message) !Self {
|
||||
return .{ .handle = c.thespian_timeout_create_us(@intCast(tick_time_us), m.to(c.cbor_buffer)) orelse return error.ThespianTimeoutInitFailed };
|
||||
return .{ .handle = c.thespian_timeout_create_us(tick_time_us, m.to(c.cbor_buffer)) orelse return error.ThespianTimeoutInitFailed };
|
||||
}
|
||||
|
||||
pub fn init_ms(tick_time_us: u64, m: message) !Self {
|
||||
return .{ .handle = c.thespian_timeout_create_ms(@intCast(tick_time_us), m.to(c.cbor_buffer)) orelse return error.ThespianTimeoutInitFailed };
|
||||
return .{ .handle = c.thespian_timeout_create_ms(tick_time_us, m.to(c.cbor_buffer)) orelse return error.ThespianTimeoutInitFailed };
|
||||
}
|
||||
|
||||
pub fn cancel(self: *const Self) !void {
|
||||
|
|
Loading…
Add table
Reference in a new issue