19768109e5d3c18da127dd70f28454171c1eba7c0florian------- Copy 17 bytes from BUFFER to TARGET 29768109e5d3c18da127dd70f28454171c1eba7c0florianbefore: buffer = |0123456789abcdefXXXXX| 39768109e5d3c18da127dd70f28454171c1eba7c0florianbefore: target = |---------------------| 49768109e5d3c18da127dd70f28454171c1eba7c0florianafter: buffer = |0123456789abcdefXXXXX| 59768109e5d3c18da127dd70f28454171c1eba7c0florianafter: target = |0123456789abcdefX----| 69768109e5d3c18da127dd70f28454171c1eba7c0florian 79768109e5d3c18da127dd70f28454171c1eba7c0florian------- Destructive overlap #1 89768109e5d3c18da127dd70f28454171c1eba7c0florianbefore: |012345678901234567890| 99768109e5d3c18da127dd70f28454171c1eba7c0florianafter: |000000000000000000890| 109768109e5d3c18da127dd70f28454171c1eba7c0florian------- Destructive overlap #2 119768109e5d3c18da127dd70f28454171c1eba7c0florianbefore: target = |---------------------| 129768109e5d3c18da127dd70f28454171c1eba7c0florianafter: target = |-xxx-----------------| 139768109e5d3c18da127dd70f28454171c1eba7c0florian------- Destructive overlap #3 (max length) 149768109e5d3c18da127dd70f28454171c1eba7c0florian 159768109e5d3c18da127dd70f28454171c1eba7c0florian------- Non-destructive overlap buf[0:4] = buf[10:14] 169768109e5d3c18da127dd70f28454171c1eba7c0florianbefore: buf = |0123456789abcde| 179768109e5d3c18da127dd70f28454171c1eba7c0florianafter: buf = |abcde56789abcde| 18