[syslinux] isohybrid: seek error - 6: Invalid argument
P J P
pj.pandit at yahoo.co.in
Mon Sep 13 23:38:37 PDT 2010
--- On Tue, 14/9/10, H. Peter Anvin <hpa at zytor.com> wrote:
> Yes, although the should be an fsync() before the
> ftruncate, just in case there is anything still in the write buffers.
Please have a look at this new patch.
===
diff --git a/utils/isohybrid.c b/utils/isohybrid.c
index 57c1015..7ee9a7f 100644
--- a/utils/isohybrid.c
+++ b/utils/isohybrid.c
@@ -543,15 +543,11 @@ main(int argc, char *argv[])
if (padding)
{
- if (!(buf = realloc(buf, padding)))
- err(1, "%s: could not re-size buffer", argv[0]);
+ if (fsync(fileno(fp)))
+ err(1, "%s: could not synchronise", argv[0]);
- if (fseek(fp, isostat.st_size, SEEK_SET))
- err(1, "%s: seek error - 6", argv[0]);
-
- memset(buf, 0, padding);
- if (fwrite(buf, sizeof(char), padding, fp) != (size_t)padding)
- err(1, "%s: write error - 2", argv[0]);
+ if (ftruncate(fileno(fp), isostat.st_size + padding))
+ err(1, "%s: could not add padding bytes", argv[0]);
}
free(buf);
===
Thank you.
---
Regards
-Prasad
PS: Please don't send me html/attachment/Fwd mails
More information about the Syslinux
mailing list