]> wimlib.net Git - wimlib/blobdiff - src/win32_replacements.c
Merge branch with pipable WIM support
[wimlib] / src / win32_replacements.c
index 36cc8a357e884a177c41b89eb9eee7c2493c7b02..c9a59bab0a90e3fd4d03aff965821362e552a487 100644 (file)
@@ -177,12 +177,15 @@ do_pread_or_pwrite(int fd, void *buf, size_t count, off_t offset,
        OVERLAPPED overlapped;
        BOOL bret;
 
        OVERLAPPED overlapped;
        BOOL bret;
 
-       wimlib_assert(count <= 0xffffffff);
-
        h = (HANDLE)_get_osfhandle(fd);
        if (h == INVALID_HANDLE_VALUE)
                goto err;
 
        h = (HANDLE)_get_osfhandle(fd);
        if (h == INVALID_HANDLE_VALUE)
                goto err;
 
+       if (GetFileType(h) == FILE_TYPE_PIPE) {
+               errno = ESPIPE;
+               goto err;
+       }
+
        /* Get original position */
        relative_offset.QuadPart = 0;
        if (!SetFilePointerEx(h, relative_offset, &orig_offset, FILE_CURRENT))
        /* Get original position */
        relative_offset.QuadPart = 0;
        if (!SetFilePointerEx(h, relative_offset, &orig_offset, FILE_CURRENT))