| 740 | |
| 741 | |
| 742 | static int skipBOM (LoadF *lf) { |
| 743 | const char *p = "\xEF\xBB\xBF"; /* UTF-8 BOM mark */ |
| 744 | int c; |
| 745 | lf->n = 0; |
| 746 | do { |
| 747 | c = getc(lf->f); |
| 748 | if (c == EOF || c != *(const unsigned char *)p++) return c; |
| 749 | lf->buff[lf->n++] = c; /* to be read by the parser */ |
| 750 | } while (*p != '\0'); |
| 751 | lf->n = 0; /* prefix matched; discard it */ |
| 752 | return getc(lf->f); /* return next character */ |
| 753 | } |
| 754 | |
| 755 | |
| 756 | /* |