The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

st/oxr: fix compiler warnings for XrStructureType name lengths >= XR_MAX_STRUCTURE_NAME_SIZE

OpenXR 1.1.48 added the extension XR_META_simultaneous_hands_and_controllers,
this ext adds new XrStructureType names that are greater than
XR_MAX_STRUCTURE_NAME_SIZE
(it should extend XR_KHR_extended_struct_name_lengths but currently does not),
causing snprintf warning messages in oxr_xrStructureTypeToString

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2479>

+5 -2
+5 -2
src/xrt/state_trackers/oxr/oxr_api_instance.c
··· 279 279 struct oxr_logger log; 280 280 OXR_VERIFY_INSTANCE_AND_INIT_LOG(&log, instance, inst, "xrStructureTypeToString"); 281 281 282 + static_assert(XR_MAX_STRUCTURE_NAME_SIZE == 64, 283 + "XR_MAX_STRUCTURE_NAME_SIZE has changed, please update the format string"); 284 + 282 285 #define MAKE_TYPE_CASE(VAL, _) \ 283 - case VAL: snprintf(buffer, XR_MAX_RESULT_STRING_SIZE, #VAL); break; 286 + case VAL: snprintf(buffer, XR_MAX_STRUCTURE_NAME_SIZE, "%.63s", #VAL); break; 284 287 285 288 switch (value) { 286 289 XR_LIST_ENUM_XrStructureType(MAKE_TYPE_CASE); 287 - default: snprintf(buffer, XR_MAX_RESULT_STRING_SIZE, "XR_UNKNOWN_STRUCTURE_TYPE_%d", value); 290 + default: snprintf(buffer, XR_MAX_STRUCTURE_NAME_SIZE, "XR_UNKNOWN_STRUCTURE_TYPE_%d", value); 288 291 } 289 292 // The function snprintf always null terminates. 290 293