| 716 | |
| 717 | |
| 718 | static int skipBOM (LoadF *lf) { |
| 719 | const char *p = "\xEF\xBB\xBF"; /* UTF-8 BOM mark */ |
| 720 | int c; |
| 721 | lf->n = 0; |
| 722 | do { |
| 723 | c = getc(lf->f); |
| 724 | if (c == EOF || c != *(const unsigned char *)p++) return c; |
| 725 | lf->buff[lf->n++] = c; /* to be read by the parser */ |
| 726 | } while (*p != '\0'); |
| 727 | lf->n = 0; /* prefix matched; discard it */ |
| 728 | return getc(lf->f); /* return next character */ |
| 729 | } |
| 730 | |
| 731 | |
| 732 | /* |