diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2009-02-18 15:13:05 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2009-02-18 15:13:05 +0000 |
commit | 8dcb33c3eb97ca668f609baf790fc79ac3f9da1c (patch) | |
tree | 4275d103965ce4ce334fae7fad45dc324b461625 | |
parent | e455f6ec27fe92aad98bb2097c8790ccdc0b12b5 (diff) | |
download | busybox-8dcb33c3eb97ca668f609baf790fc79ac3f9da1c.tar.gz |
- document ppm header and skip whitespace
-rw-r--r-- | miscutils/fbsplash.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/miscutils/fbsplash.c b/miscutils/fbsplash.c index a0f7d0dc2..1ea5d8ebb 100644 --- a/miscutils/fbsplash.c +++ b/miscutils/fbsplash.c @@ -224,14 +224,26 @@ static void fb_drawimage(void) theme_file = xfopen_stdin(G.image_filename); head = xmalloc(256); - // parse ppm header + /* parse ppm header + * - A ppm image’s magic number is the two characters "P6". + * - Whitespace (blanks, TABs, CRs, LFs). + * - A width, formatted as ASCII characters in decimal. + * - Whitespace. + * - A height, again in ASCII decimal. + * - Whitespace. + * - The maximum color value (Maxval), again in ASCII decimal. Must be + * less than 65536. + * - Newline or other single whitespace character. + * - A raster of Width * Height pixels in triplets of rgb + * in pure binary by 1 (or not implemented 2) bytes. + */ while (1) { if (fgets(head, 256, theme_file) == NULL /* do not overrun the buffer */ || strlen(bb_common_bufsiz1) >= sizeof(bb_common_bufsiz1) - 256) bb_error_msg_and_die("bad PPM file '%s'", G.image_filename); - ptr = memchr(head, '#', 256); + ptr = memchr(skip_whitespace(head), '#', 256); if (ptr != NULL) *ptr = 0; /* ignore comments */ strcat(bb_common_bufsiz1, head); |