diff --git a/coders/xbm.c b/coders/xbm.c
index 1167495..4aef1fc 100644
--- a/coders/xbm.c
+++ b/coders/xbm.c
@@ -203,6 +203,10 @@
value,
version;
+ unsigned long
+ height,
+ width;
+
/*
Open image file.
*/
@@ -223,16 +227,20 @@
/*
Read X bitmap header.
*/
+ width=0;
+ height=0;
while (ReadBlobString(image,buffer) != (char *) NULL)
- if (sscanf(buffer,"#define %s %lu",name,&image->columns) == 2)
+ if (sscanf(buffer,"#define %s %lu",name,&width) == 2)
if ((strlen(name) >= 6) &&
(LocaleCompare(name+strlen(name)-6,"_width") == 0))
- break;
+ break;
while (ReadBlobString(image,buffer) != (char *) NULL)
- if (sscanf(buffer,"#define %s %lu",name,&image->rows) == 2)
+ if (sscanf(buffer,"#define %s %lu",name,&height) == 2)
if ((strlen(name) >= 7) &&
(LocaleCompare(name+strlen(name)-7,"_height") == 0))
- break;
+ break;
+ image->columns=width;
+ image->rows=width;
image->depth=8;
image->storage_class=PseudoClass;
image->colors=2;
@@ -509,10 +517,10 @@
*/
GetPathComponent(image->filename,BasePath,basename);
(void) FormatMagickString(buffer,MaxTextExtent,"#define %s_width %lu\n",
- basename,image->columns);
+ basename,(unsigned long) image->columns);
(void) WriteBlob(image,strlen(buffer),(unsigned char *) buffer);
(void) FormatMagickString(buffer,MaxTextExtent,"#define %s_height %lu\n",
- basename,image->rows);
+ basename,(unsigned long) image->rows);
(void) WriteBlob(image,strlen(buffer),(unsigned char *) buffer);
(void) FormatMagickString(buffer,MaxTextExtent,
"static char %s_bits[] = {\n",basename);