Skip to content

Commit 19e7aa3

Browse files
hicklinbzbarsky-applearkq
authored
Added a CopyCharSpanToMutableCharSpanTruncate function. (#35360)
* Added a CopyCharSpanToMutableCharSpanTruncate function. * Applied minor renaming suggestion. * Apply suggestions from code review Co-authored-by: Boris Zbarsky <bzbarsky@apple.com> * Update src/lib/support/Span.h Co-authored-by: Arkadiusz Bokowy <arkadiusz.bokowy@gmail.com> --------- Co-authored-by: Boris Zbarsky <bzbarsky@apple.com> Co-authored-by: Arkadiusz Bokowy <arkadiusz.bokowy@gmail.com>
1 parent 6144736 commit 19e7aa3

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/lib/support/Span.h

+14
Original file line numberDiff line numberDiff line change
@@ -390,4 +390,18 @@ inline CHIP_ERROR CopyCharSpanToMutableCharSpan(CharSpan cspan_to_copy, MutableC
390390
return CHIP_NO_ERROR;
391391
}
392392

393+
/**
394+
* Copies a CharSpan into a MutableCharSpan.
395+
* If the span_to_copy does not fit in out_span, span_to_copy is truncated to fit in out_span.
396+
* @param span_to_copy The CharSpan to copy.
397+
* @param out_span The MutableCharSpan in which span_to_copy is to be copied.
398+
*/
399+
inline void CopyCharSpanToMutableCharSpanWithTruncation(CharSpan span_to_copy, MutableCharSpan & out_span)
400+
{
401+
size_t size_to_copy = std::min(span_to_copy.size(), out_span.size());
402+
403+
memcpy(out_span.data(), span_to_copy.data(), size_to_copy);
404+
out_span.reduce_size(size_to_copy);
405+
}
406+
393407
} // namespace chip

0 commit comments

Comments
 (0)