Support files with UTF8BOM character

This commit is contained in:
Steve Urquhart 2024-02-09 15:14:12 -05:00 committed by arcady-lunarg
parent ee2f5d09ea
commit 9f37ad360e
4 changed files with 33 additions and 0 deletions

View File

@ -2167,6 +2167,20 @@ char* ReadFileData(const char* fileName)
fseek(in, 0, SEEK_SET);
if (count > 3) {
unsigned char head[3];
if (fread(head, 1, 3, in) == 3) {
if (head[0] == 0xef && head[1] == 0xbb && head[2] == 0xbf) {
// skip BOM
count -= 3;
} else {
fseek(in, 0, SEEK_SET);
}
} else {
Error("can't read input file");
}
}
char* return_data = (char*)malloc(count + 1); // freed in FreeFileData()
if ((int)fread(return_data, 1, count, in) != count) {
free(return_data);

11
Test/UTF8BOM.vert Normal file
View File

@ -0,0 +1,11 @@
/*
glslangValidator.exe --glsl-version 410 -V -S vert -o UTF8BOM.vert.out UTF8BOM.vert
*/
#version 110
void main()
{
}

View File

@ -0,0 +1 @@
UTF8BOM.vert

View File

@ -348,6 +348,13 @@ diff -b $BASEDIR/enhanced.7.link.out "$TARGETDIR/enhanced.7.link.out" || HASERRO
run --enhanced-msgs -V --target-env vulkan1.2 --amb --aml spv.textureError.frag > "$TARGETDIR/spv.textureError.frag.out"
diff -b $BASEDIR/spv.textureError.frag.out "$TARGETDIR/spv.textureError.frag.out" || HASERROR=1
#
# Test UTF8BOM
#
echo "Testing UTF8BOM"
run --glsl-version 410 -V -S vert UTF8BOM.vert > $TARGETDIR/UTF8BOM.vert.out
diff -b $BASEDIR/UTF8BOM.vert.out $TARGETDIR/UTF8BOM.vert.out || HASERROR=1
#
# Final checking
#