diff options
| author | Eli Zaretskii | 2017-02-11 11:09:33 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2017-02-11 11:09:33 +0200 |
| commit | 44578d9acc952963a2c9acbd7696b65b29af2f6e (patch) | |
| tree | 5a99b13f271ac1dab8d611dcbc7f77d0bc609558 /src | |
| parent | 26187a38a17734d313c1294f47f95c4926d7b6ef (diff) | |
| download | emacs-44578d9acc952963a2c9acbd7696b65b29af2f6e.tar.gz emacs-44578d9acc952963a2c9acbd7696b65b29af2f6e.zip | |
Fix handling of PBM data
* src/image.c (pbm_load): Handle PBM data with no blanks between
individual pixel values correctly. (Bug#25660)
Diffstat (limited to 'src')
| -rw-r--r-- | src/image.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/image.c b/src/image.c index ad0143be48b..a7a94165282 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -5465,7 +5465,17 @@ pbm_load (struct frame *f, struct image *img) | |||
| 5465 | c <<= 1; | 5465 | c <<= 1; |
| 5466 | } | 5466 | } |
| 5467 | else | 5467 | else |
| 5468 | g = pbm_scan_number (&p, end); | 5468 | { |
| 5469 | int c = 0; | ||
| 5470 | /* Skip white-space and comments. */ | ||
| 5471 | while ((c = pbm_next_char (&p, end)) != -1 && c_isspace (c)) | ||
| 5472 | ; | ||
| 5473 | |||
| 5474 | if (c == '0' || c == '1') | ||
| 5475 | g = c - '0'; | ||
| 5476 | else | ||
| 5477 | g = 0; | ||
| 5478 | } | ||
| 5469 | 5479 | ||
| 5470 | #ifdef USE_CAIRO | 5480 | #ifdef USE_CAIRO |
| 5471 | *dataptr++ = g ? fga32 : bga32; | 5481 | *dataptr++ = g ? fga32 : bga32; |