- if (!XParseColor(dpy, cmap, xpm_image.colorTable[i].c_color, &colors[i]))
- {
- fprintf(stderr, "%s: unparsable color: %s\n", progname,
- xpm_image.colorTable[i].c_color);
- exit(1);
- }
+ {
+ const char *c = xpm_image.colorTable[i].c_color;
+ if (!c)
+ {
+ fprintf(stderr, "%s: bogus color table? ($d)\n", progname, i);
+ exit (1);
+ }
+ else if (!strncasecmp (c, "None", 4))
+ {
+ transparent_color_index = i;
+ colors[transparent_color_index].red = 0xFF;
+ colors[transparent_color_index].green = 0xFF;
+ colors[transparent_color_index].blue = 0xFF;
+ }
+ else if (!XParseColor (dpy, cmap, c, &colors[i]))
+ {
+ fprintf(stderr, "%s: unparsable color: %s\n", progname, c);
+ exit (1);
+ }
+ }