Merge branch 'cn/bom-in-gitignore'
Teach the codepaths that read .gitignore and .gitattributes files that these files encoded in UTF-8 may have UTF-8 BOM marker at the beginning; this makes it in line with what we do for configuration files already. * cn/bom-in-gitignore: attr: skip UTF8 BOM at the beginning of the input file config: use utf8_bom[] from utf.[ch] in git_parse_source() utf8-bom: introduce skip_utf8_bom() helper add_excludes_from_file: clarify the bom skipping logic dir: allow a BOM at the beginning of exclude files
This commit is contained in:
6
dir.c
6
dir.c
@ -12,6 +12,7 @@
|
||||
#include "refs.h"
|
||||
#include "wildmatch.h"
|
||||
#include "pathspec.h"
|
||||
#include "utf8.h"
|
||||
|
||||
struct path_simplify {
|
||||
int len;
|
||||
@ -617,7 +618,12 @@ int add_excludes_from_file_to_list(const char *fname,
|
||||
}
|
||||
|
||||
el->filebuf = buf;
|
||||
|
||||
if (skip_utf8_bom(&buf, size))
|
||||
size -= buf - el->filebuf;
|
||||
|
||||
entry = buf;
|
||||
|
||||
for (i = 0; i < size; i++) {
|
||||
if (buf[i] == '\n') {
|
||||
if (entry != buf + i && entry[0] != '#') {
|
||||
|
Reference in New Issue
Block a user