]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Thu, 18 Oct 2012 14:50:08 +0000 (14:50 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Thu, 18 Oct 2012 14:50:08 +0000 (14:50 +0000)
MagickCore/blob.c
MagickCore/cache.c

index 6d46e6ddb26afe55dfcc1fca504ed5577f5de779..d214f7e89518379a688ca310c7622476b74d0426 100644 (file)
@@ -3762,8 +3762,8 @@ MagickPrivate MagickBooleanType SetBlobExtent(Image *image,
               offset;
 
             offset=TellBlob(image);
-            status=posix_fallocate(fileno(image->blob->file_info.file),
-              (off_t) offset,(off_t) (extent-offset));
+            status=posix_fallocate(fileno(image->blob->file_info.file),offset,
+              extent-offset);
             if (status != 0)
               return(MagickFalse);
           }
index 72c599fb6b783df9929a971671e2fce68f64b8c0..9c5ecb0a4514c31bc31a9fd924066c2deb699bf9 100644 (file)
@@ -3693,7 +3693,6 @@ static MagickBooleanType ExtendCache(Image *image,MagickSizeType length)
     *cache_info;
 
   MagickOffsetType
-    count,
     extent,
     offset;
 
@@ -3718,8 +3717,26 @@ static MagickBooleanType ExtendCache(Image *image,MagickSizeType length)
   if ((MagickSizeType) extent >= length)
     return(MagickTrue);
   offset=(MagickOffsetType) length-1;
-  count=WritePixelCacheRegion(cache_info,offset,1,(const unsigned char *) "");
-  return(count == (MagickOffsetType) 1 ? MagickTrue : MagickFalse);
+#if !defined(MAGICKCORE_HAVE_POSIX_FALLOCATE)
+  {
+    MagickOffsetType
+      count;
+
+    count=WritePixelCacheRegion(cache_info,offset,1,(const unsigned char *) "");
+    if (count != (MagickOffsetType) 1)
+      return(MagickFalse);
+  }
+#else
+  {
+    int
+      status;
+
+    status=posix_fallocate(cache_info->file,extent+1,offset-extent);
+    if (status != 0)
+      return(MagickFalse);
+  }
+#endif
+  return(MagickTrue);
 }
 
 static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode,