diff --git a/panda/src/pnmimagetypes/color.c b/panda/src/pnmimagetypes/color.c index 138046fd3b..dfc4a608fe 100644 --- a/panda/src/pnmimagetypes/color.c +++ b/panda/src/pnmimagetypes/color.c @@ -75,10 +75,10 @@ int fwritecolrs(register COLR *scanline, unsigned len, register FILE *fp) putc(len&255, fp); /* put components seperately */ for (i = 0; i < 4; i++) { - for (j = 0; j < len; j += cnt) { /* find next run */ - for (beg = j; beg < len; beg += cnt) { - for (cnt = 1; cnt < 127 && beg+cnt < len && - scanline[beg+cnt][i] == scanline[beg][i]; cnt++) + for (j = 0; j < (int)len; j += cnt) { /* find next run */ + for (beg = j; beg < (int)len; beg += cnt) { + for (cnt = 1; cnt < 127 && ((beg+cnt) < (int)len) && + (scanline[beg+cnt][i] == scanline[beg][i]); cnt++) ; if (cnt >= MINRUN) break; /* long enough */ @@ -254,10 +254,10 @@ setcolr(register COLR clr, double r, double g, double b) d = frexp(d, &e) * 255.9999 / d; - clr[RED] = r * d; - clr[GRN] = g * d; - clr[BLU] = b * d; - clr[EXP] = e + COLXS; + clr[RED] = (BYTE) (r * d); + clr[GRN] = (BYTE) (g * d); + clr[BLU] = (BYTE) (b * d); + clr[EXP] = (BYTE) (e) + COLXS; } @@ -271,9 +271,9 @@ colr_color(register COLOR col, register COLR clr) col[RED] = col[GRN] = col[BLU] = 0.0; else { f = ldexp(1.0, (int)clr[EXP]-(COLXS+8)); - col[RED] = (clr[RED] + 0.5)*f; - col[GRN] = (clr[GRN] + 0.5)*f; - col[BLU] = (clr[BLU] + 0.5)*f; + col[RED] = (float) ((clr[RED] + 0.5)*f); + col[GRN] = (float) ((clr[GRN] + 0.5)*f); + col[BLU] = (float) ((clr[BLU] + 0.5)*f); } } diff --git a/panda/src/pnmimagetypes/colrops.c b/panda/src/pnmimagetypes/colrops.c index df01f31b4e..26d5ec3d9d 100644 --- a/panda/src/pnmimagetypes/colrops.c +++ b/panda/src/pnmimagetypes/colrops.c @@ -58,7 +58,7 @@ int setcolrcor(double (*f)(double, double), double a2) mult = 1.0/256.0; for (i = 0; i <= MAXGSHIFT; i++) { for (j = 0; j < 256; j++) - g_bval[i][j] = 256.0 * (*f)((j+.5)*mult, a2); + g_bval[i][j] = (BYTE) (256.0 * (*f)((j+.5)*mult, a2)); mult *= 0.5; } return(0); @@ -79,7 +79,7 @@ int setcolrinv(double (*f)(double, double), double a2) i = 0; mult = 256.0; for (j = 255; j > 0; j--) { - while ((g_mant[j] = mult * (*f)(j/256.0, a2)) < 128) { + while ((g_mant[j] = (BYTE)(mult * (*f)(j/256.0, a2))) < 128) { i++; mult *= 2.0; }