vec-iree: fix status print syntax Reflect the change in https://github.com/google/iree/pull/6809. Also fix one condition check bug to make sure we don't dereference a NULL pointer. Change-Id: Ie3a3572d75a59f5aa6008d8daf697ce36686de1c
diff --git a/samples/simple_vec_mul/simple_vec_mul.c b/samples/simple_vec_mul/simple_vec_mul.c index a2951ea..1ef2188 100644 --- a/samples/simple_vec_mul/simple_vec_mul.c +++ b/samples/simple_vec_mul/simple_vec_mul.c
@@ -120,15 +120,16 @@ iree_allocator_system()); } - // Get the result buffers from the invocation. - iree_hal_buffer_view_t *ret_buffer_view = - (iree_hal_buffer_view_t *)iree_vm_list_get_ref_deref( - outputs, 0, iree_hal_buffer_view_get_descriptor()); - if (ret_buffer_view == NULL) { - result = iree_make_status(IREE_STATUS_NOT_FOUND, - "can't find return buffer view"); + iree_hal_buffer_view_t *ret_buffer_view = NULL; + if (iree_status_is_ok(result)) { + // Get the result buffers from the invocation. + ret_buffer_view = (iree_hal_buffer_view_t *)iree_vm_list_get_ref_deref( + outputs, 0, iree_hal_buffer_view_get_descriptor()); + if (ret_buffer_view == NULL) { + result = iree_make_status(IREE_STATUS_NOT_FOUND, + "can't find return buffer view"); + } } - // Read back the results and ensure we got the right values. iree_hal_buffer_mapping_t mapped_memory; if (iree_status_is_ok(result)) { @@ -155,11 +156,7 @@ const iree_status_t result = run(); int ret = (int)iree_status_code(result); if (!iree_status_is_ok(result)) { - char *status_buffer = NULL; - iree_host_size_t status_buffer_length = 0; - iree_status_to_string(result, &status_buffer, &status_buffer_length); - LOG_ERROR("%.*s", (int)status_buffer_length, status_buffer); - free(status_buffer); + iree_status_fprint(stderr, result); iree_status_free(result); } else { LOG_INFO("simple_vec_mul finished successfully");