| 740 | } |
| 741 | |
| 742 | MCAPI_ATTR McResult MCAPI_CALL mcEnqueueGetConnectedComponentData( |
| 743 | const McContext context, |
| 744 | const McConnectedComponent connCompId, |
| 745 | McFlags queryFlags, |
| 746 | McSize bytes, |
| 747 | McVoid* pMem, |
| 748 | McSize* pNumBytes, |
| 749 | uint32_t numEventsInWaitlist, |
| 750 | const McEvent* pEventWaitList, |
| 751 | McEvent* pEvent) |
| 752 | { |
| 753 | McResult return_value = McResult::MC_NO_ERROR; |
| 754 | per_thread_api_log_str.clear(); |
| 755 | |
| 756 | if (context == nullptr) { |
| 757 | per_thread_api_log_str = "context ptr (param0) undef (NULL)"; |
| 758 | } |
| 759 | if (connCompId == nullptr) { |
| 760 | per_thread_api_log_str = "connected component ptr (param1) undef (NULL)"; |
| 761 | } else if (queryFlags == 0) { |
| 762 | per_thread_api_log_str = "flags (param1) undef (0)"; |
| 763 | } else if (bytes != 0 && pMem == nullptr) { |
| 764 | per_thread_api_log_str = "null parameter (param3 & param4)"; |
| 765 | } else if (pEventWaitList == nullptr && numEventsInWaitlist > 0) { |
| 766 | per_thread_api_log_str = "invalid event waitlist ptr (NULL)"; |
| 767 | } else if (pEventWaitList != nullptr && numEventsInWaitlist == 0) { |
| 768 | per_thread_api_log_str = "invalid event waitlist size (zero)"; |
| 769 | } else if (pEventWaitList == nullptr && numEventsInWaitlist == 0 && pEvent == nullptr) { |
| 770 | per_thread_api_log_str = "invalid event ptr (zero)"; |
| 771 | } else { |
| 772 | try { |
| 773 | get_connected_component_data_impl(context, connCompId, queryFlags, bytes, pMem, pNumBytes, numEventsInWaitlist, pEventWaitList, pEvent); |
| 774 | } |
| 775 | CATCH_POSSIBLE_EXCEPTIONS(per_thread_api_log_str); |
| 776 | } |
| 777 | |
| 778 | if (!per_thread_api_log_str.empty()) { |
| 779 | |
| 780 | std::fprintf(stderr, "%s(...) -> %s\n", __FUNCTION__, per_thread_api_log_str.c_str()); |
| 781 | |
| 782 | if (return_value == McResult::MC_NO_ERROR) // i.e. problem with basic local parameter checks |
| 783 | { |
| 784 | return_value = McResult::MC_INVALID_VALUE; |
| 785 | } |
| 786 | } |
| 787 | |
| 788 | return return_value; |
| 789 | } |
| 790 | |
| 791 | MCAPI_ATTR McResult MCAPI_CALL mcGetConnectedComponentData( |
| 792 | const McContext context, |
no test coverage detected