eliminate Imager's internal MAXINT macro
authorTony Cook <tony@develop-help.com>
Mon, 21 Jul 2014 06:14:28 +0000 (16:14 +1000)
committerTony Cook <tony@develop-help.com>
Mon, 21 Jul 2014 06:14:28 +0000 (16:14 +1000)
This conflicted with MAXINT in the win32 headers

draw.c
draw.h
imager.h
imdatatypes.h
img8.c

diff --git a/draw.c b/draw.c
index 3ca1070..ba79b77 100644 (file)
--- a/draw.c
+++ b/draw.c
@@ -93,7 +93,10 @@ i_mmarray_cr(i_mmarray *ar,i_img_dim l) {
     exit(3);
   }
   ar->data=mymalloc(alloc_size); /* checked 5jul05 tonyc */
     exit(3);
   }
   ar->data=mymalloc(alloc_size); /* checked 5jul05 tonyc */
-  for(i=0;i<l;i++) { ar->data[i].max=-1; ar->data[i].min=MAXINT; }
+  for(i=0;i<l;i++) {
+    ar->data[i].max = -1;
+    ar->data[i].min = i_img_dim_MAX;
+  }
 }
 
 void
 }
 
 void
@@ -111,16 +114,18 @@ i_mmarray_add(i_mmarray *ar,i_img_dim x,i_img_dim y) {
     }
 }
 
     }
 }
 
-int
+i_img_dim
 i_mmarray_gmin(i_mmarray *ar,i_img_dim y) {
   if (y>-1 && y<ar->lines) return ar->data[y].min;
   else return -1;
 }
 
 i_mmarray_gmin(i_mmarray *ar,i_img_dim y) {
   if (y>-1 && y<ar->lines) return ar->data[y].min;
   else return -1;
 }
 
-int
+i_img_dim
 i_mmarray_getm(i_mmarray *ar,i_img_dim y) {
 i_mmarray_getm(i_mmarray *ar,i_img_dim y) {
-  if (y>-1 && y<ar->lines) return ar->data[y].max;
-  else return MAXINT;
+  if (y>-1 && y<ar->lines)
+    return ar->data[y].max;
+  else
+    return i_img_dim_MAX;
 }
 
 #if 0
 }
 
 #if 0
diff --git a/draw.h b/draw.h
index 73d5855..5cf08c7 100644 (file)
--- a/draw.h
+++ b/draw.h
@@ -14,8 +14,8 @@ typedef struct {
 void i_mmarray_cr(i_mmarray *ar,i_img_dim l);
 void i_mmarray_dst(i_mmarray *ar);
 void i_mmarray_add(i_mmarray *ar,i_img_dim x,i_img_dim y);
 void i_mmarray_cr(i_mmarray *ar,i_img_dim l);
 void i_mmarray_dst(i_mmarray *ar);
 void i_mmarray_add(i_mmarray *ar,i_img_dim x,i_img_dim y);
-int i_mmarray_gmin(i_mmarray *ar,i_img_dim y);
-int i_mmarray_getm(i_mmarray *ar,i_img_dim y);
+i_img_dim i_mmarray_gmin(i_mmarray *ar,i_img_dim y);
+i_img_dim i_mmarray_getm(i_mmarray *ar,i_img_dim y);
 void i_mmarray_info(i_mmarray *ar);
 #if 0
 void i_mmarray_render(i_img *im,i_mmarray *ar,i_color *val);
 void i_mmarray_info(i_mmarray *ar);
 #if 0
 void i_mmarray_render(i_img *im,i_mmarray *ar,i_color *val);
index e114bca..c494044 100644 (file)
--- a/imager.h
+++ b/imager.h
 #define PI 3.14159265358979323846
 #endif
 
 #define PI 3.14159265358979323846
 #endif
 
-#ifndef MAXINT
-#define MAXINT 2147483647
-#endif
-
 #include "imdatatypes.h"
 
 undef_int i_has_format(char *frmt);
 #include "imdatatypes.h"
 
 undef_int i_has_format(char *frmt);
index 1fa7c0b..9d5cf74 100644 (file)
@@ -43,6 +43,8 @@ May be larger than int on some platforms.
 typedef ptrdiff_t i_img_dim;
 typedef size_t i_img_dim_u;
 
 typedef ptrdiff_t i_img_dim;
 typedef size_t i_img_dim_u;
 
+#define i_img_dim_MAX ((i_img_dim)(~(i_img_dim_u)0 >> 1))
+
 /*
 =item i_color
 =category Data Types
 /*
 =item i_color
 =category Data Types
diff --git a/img8.c b/img8.c
index c780473..391af02 100644 (file)
--- a/img8.c
+++ b/img8.c
@@ -173,7 +173,7 @@ im_img_empty_ch(pIMCTX, i_img *im,i_img_dim x,i_img_dim y,int ch) {
   im->xsize    = x;
   im->ysize    = y;
   im->channels = ch;
   im->xsize    = x;
   im->ysize    = y;
   im->channels = ch;
-  im->ch_mask  = MAXINT;
+  im->ch_mask  = ~0U;
   im->bytes=bytes;
   if ( (im->idata=mymalloc(im->bytes)) == NULL) 
     im_fatal(aIMCTX, 2,"malloc() error\n"); 
   im->bytes=bytes;
   if ( (im->idata=mymalloc(im->bytes)) == NULL) 
     im_fatal(aIMCTX, 2,"malloc() error\n");