Skip to content

Commit 2d3a6f0

Browse files
committed
swaywm#205 Use libc::{clock_t, c_char} to allow compilation on ARM
1 parent 3cb1ce9 commit 2d3a6f0

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

src/macros.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ macro_rules! wl_list_for_each {
4040
#[macro_export]
4141
macro_rules! c_str {
4242
($s:expr) => {
43-
concat!($s, "\0").as_ptr() as *const i8
43+
concat!($s, "\0").as_ptr() as *const ::libc::c_char
4444
}
4545
}
4646

src/types/output/output.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use std::mem::ManuallyDrop;
77
use std::rc::{Rc, Weak};
88
use std::time::Duration;
99

10-
use libc::{c_float, c_int};
10+
use libc::{c_float, c_int, clock_t};
1111
use wayland_sys::server::WAYLAND_SERVER_HANDLE;
1212
use wlroots_sys::{timespec, wl_list, wl_output_subpixel, wl_output_transform, wlr_output,
1313
wlr_output_damage, wlr_output_effective_resolution, wlr_output_enable,
@@ -320,8 +320,8 @@ impl Output {
320320
U: Into<Option<&'a mut PixmanRegion>>
321321
{
322322
let when = when.into().map(|duration| {
323-
timespec { tv_sec: duration.as_secs() as i64,
324-
tv_nsec: duration.subsec_nanos() as i64 }
323+
timespec { tv_sec: duration.as_secs() as clock_t,
324+
tv_nsec: duration.subsec_nanos() as clock_t }
325325
});
326326
let when_ptr =
327327
when.map(|mut duration| &mut duration as *mut _).unwrap_or_else(|| ptr::null_mut());

src/types/output/output_damage.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use libc::{c_int, c_uint};
1+
use libc::{c_int, c_uint, clock_t};
22
use std::{mem, ptr, time::Duration};
33
use wlroots_sys::{timespec, wlr_output, wlr_output_damage, wlr_output_damage_add,
44
wlr_output_damage_add_box, wlr_output_damage_add_whole,
@@ -118,8 +118,8 @@ impl OutputDamage {
118118
{
119119
unsafe {
120120
let when = when.into().map(|duration| {
121-
timespec { tv_sec: duration.as_secs() as i64,
122-
tv_nsec: duration.subsec_nanos() as i64 }
121+
timespec { tv_sec: duration.as_secs() as clock_t,
122+
tv_nsec: duration.subsec_nanos() as clock_t }
123123
});
124124
let when_ptr =
125125
when.map(|mut duration| &mut duration as *mut _).unwrap_or_else(|| ptr::null_mut());

src/types/surface/surface.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -292,8 +292,8 @@ impl Surface {
292292
// FIXME
293293
// This is converting from a u64 -> i64
294294
// Something bad could happen!
295-
let when = timespec { tv_sec: duration.as_secs() as i64,
296-
tv_nsec: duration.subsec_nanos() as i64 };
295+
let when = timespec { tv_sec: duration.as_secs() as libc::clock_t,
296+
tv_nsec: duration.subsec_nanos() as libc::clock_t };
297297
wlr_surface_send_frame_done(self.surface, &when);
298298
}
299299
}

0 commit comments

Comments
 (0)