From d238915f38475bddb33049e1acfd48f218b4f28b Mon Sep 17 00:00:00 2001 From: Philip Heron Date: Mon, 9 Aug 2010 17:03:14 +0100 Subject: [PATCH] Don't copy if *ptr is NULL. Can be used to skip past data in the stream. --- c328.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/c328.c b/c328.c index 9c2e3f8..915a94d 100644 --- a/c328.c +++ b/c328.c @@ -251,7 +251,7 @@ char c3_close(void) uint16_t c3_read(uint8_t *ptr, uint16_t length) { - uint16_t r; + uint16_t r; /* Number of bytes left to read */ /* Don't read past the end of the image */ r = image_len - image_read; @@ -274,12 +274,15 @@ uint16_t c3_read(uint8_t *ptr, uint16_t length) uint16_t b = r; if(b > package_len) b = package_len; - memcpy(ptr, package, b); + if(ptr) + { + memcpy(ptr, package, b); + ptr += b; + } package += b; package_len -= b; - ptr += b; r -= b; image_read += b;