for (int y = h - 1; y >= 0; --y) {
for (int x = 0; x < w; ++x) {
- rgbachan_t r, g, b;
- if (fscanf(file, "%hhu %hhu %hhu ", &r, &g, &b) != 3) {
+ uint16_t r, g, b;
+ /* mingw32 does not like %hhu conversion type */
+ if (fscanf(file, "%hu %hu %hu ", &r, &g, &b) != 3) {
fprintf(stderr, "Failed reading color values from %s: %s\n", filename, strerror(errno));
return NULL;
}
- rgba_t rgba = PACK(rgba, 3, r);
- rgba = PACK(rgba, 2, g);
- rgba = PACK(rgba, 1, b);
+ rgba_t rgba = PACK(rgba, 3, (uint8_t)r);
+ rgba = PACK(rgba, 2, (uint8_t)g);
+ rgba = PACK(rgba, 1, (uint8_t)b);
rgba = PACK(rgba, 0, 255);
p->pixels[y * w + x] = color_from_rgba(rgba);
}