+++ /dev/null
---- grub-0.95/stage2/graphics.c.xpmjunk 2005-01-04 17:01:35.492804523 -0500
-+++ grub-0.95/stage2/graphics.c 2005-01-04 17:02:52.722495885 -0500
-@@ -262,6 +262,35 @@
- return;
- }
-
-+/* Open the file, and search for a valid XPM header. Return 1 if one is found,
-+ * leaving the current position as the start of the next line. Else,
-+ * return 0.
-+ */
-+int xpm_open(const char *s) {
-+ char buf, prev, target[]="/* XPM */\n";
-+ int pos=0;
-+
-+ if (!grub_open(s))
-+ return 0;
-+
-+ prev='\n';
-+ buf=0;
-+ do {
-+ if (grub_read(&buf, 1) != 1) {
-+ grub_close();
-+ return 0;
-+ }
-+ if ((pos == 0 && prev == '\n') || pos > 0) {
-+ if (buf == target[pos])
-+ pos++;
-+ else
-+ pos=0;
-+ }
-+ prev=buf;
-+ } while (target[pos]);
-+ return 1;
-+}
-+
- /* Read in the splashscreen image and set the palette up appropriately.
- * Format of splashscreen is an xpm (can be gzipped) with 16 colors and
- * 640x480. */
-@@ -271,15 +300,9 @@
- unsigned char c, base, mask, *s1, *s2, *s4, *s8;
- unsigned i, len, idx, colors, x, y, width, height;
-
-- if (!grub_open(s))
-+ if (!xpm_open(s))
- return 0;
-
-- /* read header */
-- if (!grub_read((char*)&buf, 10) || grub_memcmp(buf, "/* XPM */\n", 10)) {
-- grub_close();
-- return 0;
-- }
--
- /* parse info */
- while (grub_read(&c, 1)) {
- if (c == '"')