Author: hpoussin
Date: Tue Jan 13 20:08:23 2015
New Revision: 66035
URL:
http://svn.reactos.org/svn/reactos?rev=66035&view=rev
Log:
[FREELDR] PXE: support backward seeking
Modified:
trunk/reactos/boot/freeldr/freeldr/fs/pxe.c
Modified: trunk/reactos/boot/freeldr/freeldr/fs/pxe.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/fs/px…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/fs/pxe.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/fs/pxe.c [iso-8859-1] Tue Jan 13 20:08:23 2015
@@ -263,8 +263,13 @@
return EINVAL;
if (!_CachedFile && Position->LowPart < _FilePosition)
- // We don't support backward seek without caching
- return EINVAL;
+ {
+ // Close and reopen the file to go to position 0
+ if (PxeClose(FileId) != ESUCCESS)
+ return EIO;
+ if (PxeOpen(_OpenFileName, OpenReadOnly, &FileId) != ESUCCESS)
+ return EIO;
+ }
RtlZeroMemory(&readData, sizeof(readData));
readData.Buffer.segment = ((UINT32)_Packet & 0xf0000) / 16;