MCPcopy Create free account
hub / github.com/CANopenNode/CANopenNode / OD_getPtr

Function OD_getPtr

301/CO_ODinterface.c:349–371  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

347}
348
349void*
350OD_getPtr(const OD_entry_t* entry, uint8_t subIndex, OD_size_t len, ODR_t* err) {
351 ODR_t errCopy;
352 OD_IO_t io;
353 OD_stream_t* stream = &io.stream;
354
355 errCopy = OD_getSub(entry, subIndex, &io, true);
356
357 if (errCopy == ODR_OK) {
358 if ((stream->dataOrig == NULL) || (stream->dataLength == 0U)) {
359 errCopy = ODR_DEV_INCOMPAT;
360 } else if ((len != 0U) && (len != stream->dataLength)) {
361 errCopy = ODR_TYPE_MISMATCH;
362 } else { /* MISRA C 2004 14.10 */
363 }
364 }
365
366 if (err != NULL) {
367 *err = errCopy;
368 }
369
370 return (errCopy == ODR_OK) ? stream->dataOrig : NULL;
371}

Callers 2

CO_Emergency.cFile · 0.85
CO_SYNC_initFunction · 0.85

Calls 1

OD_getSubFunction · 0.85

Tested by

no test coverage detected