mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-09 12:00:05 +00:00
Support files with UTF8BOM character
This commit is contained in:
parent
ee2f5d09ea
commit
9f37ad360e
@ -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
11
Test/UTF8BOM.vert
Normal file
@ -0,0 +1,11 @@
|
||||
/*
|
||||
|
||||
glslangValidator.exe --glsl-version 410 -V -S vert -o UTF8BOM.vert.out UTF8BOM.vert
|
||||
|
||||
*/
|
||||
|
||||
#version 110
|
||||
|
||||
void main()
|
||||
{
|
||||
}
|
1
Test/baseResults/UTF8BOM.vert.out
Normal file
1
Test/baseResults/UTF8BOM.vert.out
Normal file
@ -0,0 +1 @@
|
||||
UTF8BOM.vert
|
@ -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
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user