]> granicus.if.org Git - imagemagick/blobdiff - coders/palm.c
(no commit message)
[imagemagick] / coders / palm.c
index 4c1b04fba7c72b8550d15fcb2924c977811099a8..9a0b45f9057afe166c0ee40d52ac560f2ef9d5b3 100644 (file)
@@ -227,7 +227,7 @@ static int FindColor(PixelPacket *pixel)
 %
 */
 
-static inline ssize_t MagickMax(const ssize_t x,const ssize_t y)
+static inline size_t MagickMax(const size_t x,const size_t y)
 {
   if (x > y)
     return(x);
@@ -256,6 +256,10 @@ static Image *ReadPALMImage(const ImageInfo *image_info,
   MagickBooleanType
     status;
 
+  MagickOffsetType
+    totalOffset,
+    seekNextDepth;
+
   MagickPixelPacket
     transpix;
 
@@ -290,6 +294,7 @@ static Image *ReadPALMImage(const ImageInfo *image_info,
     redbits,
     greenbits,
     bluebits,
+    one,
     pad,
     size,
     bit;
@@ -297,10 +302,6 @@ static Image *ReadPALMImage(const ImageInfo *image_info,
   unsigned short
     color16;
 
-  MagickOffsetType
-    totalOffset,
-    seekNextDepth;
-
   /*
     Open image file.
   */
@@ -343,8 +344,9 @@ static Image *ReadPALMImage(const ImageInfo *image_info,
     /*
       Initialize image colormap.
     */
+    one=1;
     if ((bits_per_pixel < 16) &&
-        (AcquireImageColormap(image,1L << bits_per_pixel) == MagickFalse))
+        (AcquireImageColormap(image,one << bits_per_pixel) == MagickFalse))
       ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
     GetMagickPixelPacket(image,&transpix);
     if (bits_per_pixel == 16)  /* Direct Color */
@@ -437,8 +439,12 @@ static Image *ReadPALMImage(const ImageInfo *image_info,
           }
         else
           if (compressionType == PALM_COMPRESSION_SCANLINE)
-            {  
+            {
+              size_t
+                one;
+
               /* TODO move out of loop! */
+              one=1;
               image->compression=FaxCompression;
               for (i=0; i < (ssize_t) bytes_per_row; i+=8)
               {
@@ -446,7 +452,7 @@ static Image *ReadPALMImage(const ImageInfo *image_info,
                 byte=1UL*MagickMin((ssize_t) bytes_per_row-i,8);
                 for (bit=0; bit < byte; bit++)
                 {
-                  if ((y == 0) || (count & (1 << (7 - bit))))
+                  if ((y == 0) || (count & (one << (7 - bit))))
                     one_row[i+bit]=(unsigned char) ReadBlobByte(image);
                   else
                     one_row[i+bit]=lastrow[i+bit];
@@ -694,7 +700,8 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info,
     count,
     bits_per_pixel,
     bytes_per_row,
-    nextDepthOffset;
+    nextDepthOffset,
+    one;
 
   unsigned short
     color16,
@@ -722,6 +729,7 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info,
   transpix.green=0;
   transpix.blue=0;
   transpix.opacity=0;
+  one=1;
   version=0;
   scene=0;
   do
@@ -729,7 +737,7 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info,
     if (image->colorspace != RGBColorspace)
       (void) TransformImageColorspace(image,RGBColorspace);
     count=GetNumberColors(image,NULL,&exception);
-    for (bits_per_pixel=1;  (1UL << bits_per_pixel) < count;  bits_per_pixel*=2) ;
+    for (bits_per_pixel=1;  (one << bits_per_pixel) < count; bits_per_pixel*=2) ;
     if (image_info->depth > 100)
       bits_per_pixel=image_info->depth-100;
     if (bits_per_pixel < 16)
@@ -871,11 +879,11 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info,
             if (bits_per_pixel >= 8)
               color=(unsigned char) indexes[x];
             else
-              color=(unsigned char) (indexes[x]*((1 << bits_per_pixel)-1)/
-                MagickMax(1L*image->colors-1L,1L));
+              color=(unsigned char) (indexes[x]*((one << bits_per_pixel)-1)/
+                MagickMax(1*image->colors-1,1));
             byte|=color << bit;
             if (bit != 0)
-              bit-=bits_per_pixel;
+              bit-=(unsigned char) bits_per_pixel;
             else
               {
                 *ptr++=byte;