diff --git a/MagickCore/cache.c b/MagickCore/cache.c
index d45c1a3..92ec430 100644
--- a/MagickCore/cache.c
+++ b/MagickCore/cache.c
@@ -551,13 +551,11 @@
count=pread(cache_info->file,buffer+i,(size_t) MagickMin(length-i,
(MagickSizeType) SSIZE_MAX),(off_t) (offset+i));
#endif
- if (count > 0)
- continue;
- count=0;
- if (errno != EINTR)
+ if (count <= 0)
{
- i=(-1);
- break;
+ count=0;
+ if (errno != EINTR)
+ break;
}
}
#if !defined(MAGICKCORE_HAVE_PREAD)
@@ -594,13 +592,11 @@
count=pwrite(cache_info->file,buffer+i,(size_t) MagickMin(length-i,
(MagickSizeType) SSIZE_MAX),(off_t) (offset+i));
#endif
- if (count > 0)
- continue;
- count=0;
- if (errno != EINTR)
+ if (count <= 0)
{
- i=(-1);
- break;
+ count=0;
+ if (errno != EINTR)
+ break;
}
}
#if !defined(MAGICKCORE_HAVE_PWRITE)