From 4857ffca487d551564dfee41d1ad89f2db9ac1af Mon Sep 17 00:00:00 2001 From: Daniel Weber <37300320+danielweber2018@users.noreply.github.com> Date: Thu, 1 Dec 2022 04:51:36 +0100 Subject: filetransfer: fix filesize divisible by blocksize case (#383) If the file size is divisible by the package size don't send one empty FLDA. Also we send the correct number of FLDAs too. Signed-off-by: Daniel Weber --- src/lib/dlt_filetransfer.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/lib/dlt_filetransfer.c b/src/lib/dlt_filetransfer.c index fd8c5e3..3c71e68 100644 --- a/src/lib/dlt_filetransfer.c +++ b/src/lib/dlt_filetransfer.c @@ -657,6 +657,13 @@ int dlt_user_log_file_data(DltContext *fileContext, if (checkUserBufferForFreeSpace() > 0) { pkgNumber++; readBytes = fread(buffer, sizeof(char), BUFFER_SIZE, file); + + if (readBytes == 0) { + // If the file size is divisible by the package size don't send + // one empty FLDA. Also we send the correct number of FLDAs too. + break; + } + int ok; uint32_t fserial = getFileSerialNumber(filename, &ok); -- cgit v1.2.1