diff options
Diffstat (limited to 'src/netpbm.c')
-rw-r--r-- | src/netpbm.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/netpbm.c b/src/netpbm.c index d87872f..ef61c8e 100644 --- a/src/netpbm.c +++ b/src/netpbm.c @@ -54,6 +54,7 @@ struct image *netpbm_open(FILE *f){ fgetc(f); b->f = f; + b->img.fmt = &netpbm; return (struct image *)b; } @@ -66,8 +67,14 @@ static unsigned char readvali(struct netpbm_t *b){ } static unsigned char readvalb(struct netpbm_t *b){ - int val = fgetc(b->f); - return val * 255 / b->maxval; + if(b->maxval == 65535){ + int val = fgetc(b->f) << 8; + val |= fgetc(b->f); + return val * 255 / b->maxval; + }else{ + int val = fgetc(b->f); + return val * 255 / b->maxval; + } } int netpbm_read(struct image *img){ |