Ignore (strip) BOMs in UTF-8 input.

pull/193/head
Michael R Sweet 15 years ago
parent 8d1ff5128d
commit 96a610c1e5
  1. 33
      mxml-file.c

@ -842,11 +842,12 @@ mxml_fd_getc(void *p, /* I - File descriptor buffer */
return (EOF); return (EOF);
} }
if (ch < 0xfeff) /*
{ * Ignore (strip) Byte Order Mark (BOM)...
mxml_error("Invalid BOM in UTF-8 XML!"); */
return (EOF);
} if (ch == 0xfeff)
return (mxml_fd_getc(p, encoding));
} }
else if ((ch & 0xf8) == 0xf0) else if ((ch & 0xf8) == 0xf0)
{ {
@ -1231,11 +1232,12 @@ mxml_file_getc(void *p, /* I - Pointer to file */
return (EOF); return (EOF);
} }
if (ch < 0xfeff) /*
{ * Ignore (strip) Byte Order Mark (BOM)...
mxml_error("Invalid BOM in UTF-8 XML!"); */
return (EOF);
} if (ch == 0xfeff)
return (mxml_file_getc(p, encoding));
} }
else if ((ch & 0xf8) == 0xf0) else if ((ch & 0xf8) == 0xf0)
{ {
@ -2430,11 +2432,12 @@ mxml_string_getc(void *p, /* I - Pointer to file */
return (EOF); return (EOF);
} }
if (ch < 0xfeff) /*
{ * Ignore (strip) Byte Order Mark (BOM)...
mxml_error("Invalid BOM in UTF-8 XML!"); */
return (EOF);
} if (ch == 0xfeff)
return (mxml_string_getc(p, encoding));
#if DEBUG > 1 #if DEBUG > 1
printf("mxml_string_getc: %c (0x%04x)\n", ch < ' ' ? '.' : ch, ch); printf("mxml_string_getc: %c (0x%04x)\n", ch < ' ' ? '.' : ch, ch);

Loading…
Cancel
Save