# HG changeset patch # User Tero Marttila # Date 1264517773 -7200 # Node ID a31ffb59bc19d889f59f09507d3cfb66ccb3b493 # Parent 81a0afb4b22968650fd8eb782165cae664a28eb7 reformat png_pixel_data to a switch-case diff -r 81a0afb4b229 -r a31ffb59bc19 src/lib/png.c --- a/src/lib/png.c Tue Jan 26 16:52:18 2010 +0200 +++ b/src/lib/png.c Tue Jan 26 16:56:13 2010 +0200 @@ -403,24 +403,34 @@ */ static inline void png_pixel_data (const png_color **outp, const struct pt_png_header *header, const uint8_t *data, size_t row, size_t col) { - if (header->color_type == PNG_COLOR_TYPE_PALETTE) { - // palette entry number - int p; + // palette entry number + int p; - if (header->bit_depth == 8) - p = *((uint8_t *) tile_row_col(header, data, row, col)); - else - // unknown + switch (header->color_type) { + case PNG_COLOR_TYPE_PALETTE: + switch (header->bit_depth) { + case 8: + // 8bpp palette + p = *((uint8_t *) tile_row_col(header, data, row, col)); + + break; + + default : + // unknown + return; + } + + // hrhr - assume our working data is valid (or we have 255 palette entries, so it doesn't matter...) + assert(p < header->num_palette); + + // reference data from palette + *outp = &header->palette[p]; + return; - // hrhr - assume our working data is valid (or we have 255 palette entries, so it doesn't matter...) - assert(p < header->num_palette); - - // reference data from palette - *outp = &header->palette[p]; - - } else { - // unknown + default : + // unknown pixel format + return; } }