Skip to content

Commit a12dd92

Browse files
committed
FIX: warning C4018: signed/unsigned mismatch
1 parent 982a420 commit a12dd92

File tree

4 files changed

+8
-9
lines changed

4 files changed

+8
-9
lines changed

src/core/n-image.c

+1-2
Original file line numberDiff line numberDiff line change
@@ -354,8 +354,7 @@ typedef struct REBCLR {
354354
REBVAL* val_img = D_ARG(1);
355355
REBVAL* val_rad = D_ARG(2);
356356
REBINT radius = IS_INTEGER(val_rad) ? VAL_INT32(val_rad) : (REBINT)round(VAL_DECIMAL(val_rad));
357-
358-
BlurImage(VAL_SERIES(val_img), radius);
357+
if (radius > 0) BlurImage(VAL_SERIES(val_img), (REBCNT)radius);
359358
return R_ARG1;
360359
}
361360

src/core/u-image-blur.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -181,15 +181,15 @@ void fast_gauss_blur(REBYTE*scl, REBYTE*tcl, REBINT w, REBINT h, REBINT r, REBIN
181181
}
182182
}
183183

184-
void BlurImage(REBSER *image, REBINT radius)
184+
void BlurImage(REBSER *image, REBCNT radius)
185185
{
186186
REBSER *temp_image;
187187

188188
// Validate input.
189189
if ( image == NULL
190190
|| (IMG_WIDE(image) == 0UL)
191191
|| (IMG_HIGH(image) == 0UL)
192-
|| radius <= 0
192+
|| radius == 0
193193
) return;
194194

195195
radius = MIN(radius, IMG_WIDE(image) / 2);

src/core/u-png-filter.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,13 @@ static REBYTE get_png_filter_type(REBVAL* val) {
9797
REBYTE *bin = VAL_BIN_DATA(val_data);
9898
REBYTE *scan, *prev, *temp, *out;
9999
REBCNT r, c, rows, bytes;
100-
REBINT width = AS_INT32(val_width);
100+
REBCNT width = (REBCNT)AS_INT32(val_width);
101101
REBYTE filter = get_png_filter_type(val_type);
102102
REBCNT bpp = ref_skip ? VAL_INT32(val_bpp) : 1;
103103

104104
bytes = VAL_LEN(val_data);
105105

106-
if (width <= 1 || width > bytes)
106+
if ((REBINT)width <= 1 || width > bytes)
107107
Trap1(RE_INVALID_ARG, val_width);
108108
if (bpp < 1 || bpp > width)
109109
Trap1(RE_INVALID_ARG, val_bpp);
@@ -180,15 +180,15 @@ static REBYTE get_png_filter_type(REBVAL* val) {
180180

181181
REBSER *ser;
182182
REBYTE *bin = VAL_BIN_DATA(val_data);
183-
REBINT width = AS_INT32(val_width);
183+
REBCNT width = (REBCNT)AS_INT32(val_width);
184184
REBCNT r, c, rows;
185185
REBYTE *scan, *prev, *temp, *out;
186186
REBYTE filter = 0;
187187
REBCNT bytes = VAL_LEN(val_data);
188188
REBCNT bpp = ref_skip ? VAL_INT32(val_bpp) : 1;
189189

190190
if (!ref_as) width++;
191-
if (width <= 1 || width > bytes)
191+
if ((REBINT)width <= 1 || width > bytes)
192192
Trap1(RE_INVALID_ARG, val_width);
193193
if (bpp < 1 || bpp > width)
194194
Trap1(RE_INVALID_ARG, val_bpp);

src/include/sys-blur.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#ifndef __INCLUDE_BLUR_H__
22
#define __INCLUDE_BLUR_H__
33

4-
void BlurImage(REBSER *image, REBINT radius);
4+
void BlurImage(REBSER *image, REBCNT radius);
55

66
#endif

0 commit comments

Comments
 (0)