+ else if ((first[0] == '\xEF') && (first[1] == '\xBB')) {
+ read = fread(first, 1, 1, f);
+ if (read != 1) {
+ gedcom_warning(_("Error reading from input file: %s"), strerror(errno));
+ rewind_file(f);
+ }
+ else if (first[0] == '\xBF') {
+ set_read_encoding_bom(WITH_BOM);
+ gedcom_debug_print("UTF-8 encoding, with BOM");
+ }
+ else {
+ gedcom_warning(_("Unknown encoding, falling back to one-byte"));
+ rewind_file(f);
+ }
+ return ONE_BYTE;
+ }