in cubeb-sys/src/device.rs [184:218]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fn optional_c_str(c_str: *const c_char) -> Option<*const c_char> {
(unsafe { c_str.as_ref() }).map(ptr::from_ref)
}
f.debug_struct("cubeb_device_info")
.field("devid", &(self.devid as u32))
.field(
"device_id",
&optional_c_str(self.device_id).map(|p| unsafe { CStr::from_ptr(p) }),
)
.field(
"friendly_name",
&optional_c_str(self.friendly_name).map(|p| unsafe { CStr::from_ptr(p) }),
)
.field(
"group_id",
&optional_c_str(self.group_id).map(|p| unsafe { CStr::from_ptr(p) }),
)
.field(
"vendor_name",
&optional_c_str(self.vendor_name).map(|p| unsafe { CStr::from_ptr(p) }),
)
.field("device_type", &fmt_device_type(&self.device_type))
.field("state", &fmt_device_state(&self.state))
.field("preferred", &fmt_device_pref(&self.preferred))
.field("format", &fmt_device_fmt(&self.format))
.field("default_format", &fmt_device_fmt(&self.default_format))
.field("max_channels", &self.max_channels)
.field("default_rate", &self.default_rate)
.field("max_rate", &self.max_rate)
.field("min_rate", &self.min_rate)
.field("latency_lo", &self.latency_lo)
.field("latency_hi", &self.latency_hi)
.finish()
}