From aec735eecdcffa6b9055a304f6a34048007a9005 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Mon, 9 May 2011 01:54:48 +0000 Subject: [PATCH] Truncating a 0-byte file should not fail! git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1609 6ac86273-5f31-0410-b378-82cca8765d1b --- kernel/fatfs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/fatfs.c b/kernel/fatfs.c index 5a2d0a7..5cc368d 100644 --- a/kernel/fatfs.c +++ b/kernel/fatfs.c @@ -1792,10 +1792,11 @@ STATIC int shrink_file(f_node_ptr fnp) struct dpb FAR *dpbp = fnp->f_dpb; int ret = DE_ACCESS; - fnp->f_offset = fnp->f_dir.dir_size; /* end of file */ - if (fnp->f_offset) fnp->f_offset--; /* last existing cluster */ + else if (fnp->f_cluster == FREE) + /* zero offset, 0-byte file: nothing to do ! */ + goto done_success; if (map_cluster(fnp, XFR_READ) != SUCCESS) /* error, don't truncate */ goto done;