Blame


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