Skip to content

Commit afa2666

Browse files
Lobotuerkahcorde
authored andcommitted
Updated error returns on rmw_take_serialized and with_message_info (#435)
Signed-off-by: lobotuerk <[email protected]>
1 parent 3851d5c commit afa2666

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

rmw_fastrtps_shared_cpp/src/rmw_take.cpp

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -265,10 +265,10 @@ _take_serialized_message(
265265
(void) allocation;
266266
*taken = false;
267267

268-
if (subscription->implementation_identifier != identifier) {
269-
RMW_SET_ERROR_MSG("publisher handle not from this implementation");
270-
return RMW_RET_ERROR;
271-
}
268+
RMW_CHECK_TYPE_IDENTIFIERS_MATCH(
269+
subscription handle,
270+
subscription->implementation_identifier, identifier,
271+
return RMW_RET_INCORRECT_RMW_IMPLEMENTATION)
272272

273273
CustomSubscriberInfo * info = static_cast<CustomSubscriberInfo *>(subscription->data);
274274
RCUTILS_CHECK_FOR_NULL_WITH_MSG(info, "custom subscriber info is null", return RMW_RET_ERROR);
@@ -312,11 +312,14 @@ __rmw_take_serialized_message(
312312
bool * taken,
313313
rmw_subscription_allocation_t * allocation)
314314
{
315-
RCUTILS_CHECK_FOR_NULL_WITH_MSG(
316-
subscription, "subscription pointer is null", return RMW_RET_ERROR);
317-
RCUTILS_CHECK_FOR_NULL_WITH_MSG(
318-
serialized_message, "ros_message pointer is null", return RMW_RET_ERROR);
319-
RCUTILS_CHECK_FOR_NULL_WITH_MSG(taken, "boolean flag for taken is null", return RMW_RET_ERROR);
315+
RMW_CHECK_ARGUMENT_FOR_NULL(
316+
subscription, RMW_RET_INVALID_ARGUMENT);
317+
318+
RMW_CHECK_ARGUMENT_FOR_NULL(
319+
serialized_message, RMW_RET_INVALID_ARGUMENT);
320+
321+
RMW_CHECK_ARGUMENT_FOR_NULL(
322+
taken, RMW_RET_INVALID_ARGUMENT);
320323

321324
return _take_serialized_message(
322325
identifier, subscription, serialized_message, taken, nullptr, allocation);
@@ -331,13 +334,17 @@ __rmw_take_serialized_message_with_info(
331334
rmw_message_info_t * message_info,
332335
rmw_subscription_allocation_t * allocation)
333336
{
334-
RCUTILS_CHECK_FOR_NULL_WITH_MSG(
335-
subscription, "subscription pointer is null", return RMW_RET_ERROR);
336-
RCUTILS_CHECK_FOR_NULL_WITH_MSG(
337-
serialized_message, "ros_message pointer is null", return RMW_RET_ERROR);
338-
RCUTILS_CHECK_FOR_NULL_WITH_MSG(taken, "boolean flag for taken is null", return RMW_RET_ERROR);
339-
RCUTILS_CHECK_FOR_NULL_WITH_MSG(
340-
message_info, "message info pointer is null", return RMW_RET_ERROR);
337+
RMW_CHECK_ARGUMENT_FOR_NULL(
338+
subscription, RMW_RET_INVALID_ARGUMENT);
339+
340+
RMW_CHECK_ARGUMENT_FOR_NULL(
341+
serialized_message, RMW_RET_INVALID_ARGUMENT);
342+
343+
RMW_CHECK_ARGUMENT_FOR_NULL(
344+
taken, RMW_RET_INVALID_ARGUMENT);
345+
346+
RMW_CHECK_ARGUMENT_FOR_NULL(
347+
message_info, RMW_RET_INVALID_ARGUMENT);
341348

342349
return _take_serialized_message(
343350
identifier, subscription, serialized_message, taken, message_info, allocation);

0 commit comments

Comments
 (0)