1*59c8e88eSDag-Erling Smørgrav--- test104.left-P.txt 2*59c8e88eSDag-Erling Smørgrav+++ test104.right-P.txt 3*59c8e88eSDag-Erling Smørgrav@@ -1,3 +1,10 @@ 4*59c8e88eSDag-Erling Smørgrav+int Chunk_bounds_check(Chunk *chunk, size_t start, size_t n) 5*59c8e88eSDag-Erling Smørgrav+{ 6*59c8e88eSDag-Erling Smørgrav+ if (chunk == NULL) return 0; 7*59c8e88eSDag-Erling Smørgrav+ 8*59c8e88eSDag-Erling Smørgrav+ return start <= chunk->length && n <= chunk->length - start; 9*59c8e88eSDag-Erling Smørgrav+} 10*59c8e88eSDag-Erling Smørgrav+ 11*59c8e88eSDag-Erling Smørgrav void Chunk_copy(Chunk *src, size_t src_start, Chunk *dst, size_t dst_start, size_t n) 12*59c8e88eSDag-Erling Smørgrav { 13*59c8e88eSDag-Erling Smørgrav if (!Chunk_bounds_check(src, src_start, n)) return; 14*59c8e88eSDag-Erling Smørgrav@@ -5,10 +12,3 @@ 15*59c8e88eSDag-Erling Smørgrav 16*59c8e88eSDag-Erling Smørgrav memcpy(dst->data + dst_start, src->data + src_start, n); 17*59c8e88eSDag-Erling Smørgrav } 18*59c8e88eSDag-Erling Smørgrav- 19*59c8e88eSDag-Erling Smørgrav-int Chunk_bounds_check(Chunk *chunk, size_t start, size_t n) 20*59c8e88eSDag-Erling Smørgrav-{ 21*59c8e88eSDag-Erling Smørgrav- if (chunk == NULL) return 0; 22*59c8e88eSDag-Erling Smørgrav- 23*59c8e88eSDag-Erling Smørgrav- return start <= chunk->length && n <= chunk->length - start; 24*59c8e88eSDag-Erling Smørgrav-} 25