1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
Description: Fix: name conflict with std::data (c++17 / gcc 11)
Origin: https://github.com/OpenTTD/grfcodec/commit/fc2ab9784276200a11ca62d11604a13a726e64a4
Author: glx <glx@openttd.org>
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=984158
Bug: https://github.com/OpenTTD/grfcodec/issues/12
--- a/src/data.cpp
+++ b/src/data.cpp
@@ -1046,7 +1046,7 @@ struct dat{
#undef DATA
#undef DATA_FILE
#undef END_DATA
-#define DATA() static const dat data[]={
+#define DATA() static const dat datafiles[]={
#define DATA_FILE(name)\
{(char*)_dat##name,"/.nforenum/" #name ".dat",sizeof(_dat##name)-1},\
@@ -1126,11 +1126,11 @@ FILE*tryopen(const char*name,const char*
}
FILE*_myfopen(files file, bool write){
- FILE*pFile=tryopen(data[file].name,"rb",true);
+ FILE*pFile=tryopen(datafiles[file].name,"rb",true);
if(pFile){
- if(fgetc(pFile)==data[file].data[0]&&fgetc(pFile)>=data[file].data[1]){
+ if(fgetc(pFile)==datafiles[file].data[0]&&fgetc(pFile)>=datafiles[file].data[1]){
if(file>datfeat && (uint)fgetc(pFile)<MaxFeature()){
- IssueMessage(0,DATAFILE_MISMATCH,data[file].name+NFORENUM_DIR_LEN);
+ IssueMessage(0,DATAFILE_MISMATCH,datafiles[file].name+NFORENUM_DIR_LEN);
assert(false);
exit(EDATA);
}
@@ -1140,9 +1140,9 @@ FILE*_myfopen(files file, bool write){
}
#if WITH_FMEMOPEN
if (!write) {
- pFile = fmemopen(const_cast<char *>(data[file].data), data[file].len, "rb");
+ pFile = fmemopen(const_cast<char *>(datafiles[file].data), datafiles[file].len, "rb");
if (pFile == NULL) {
- IssueMessage(0, DATAFILE_ERROR, OPEN, data[file].name + 1, ERRNO, errno);
+ IssueMessage(0, DATAFILE_ERROR, OPEN, datafiles[file].name + 1, ERRNO, errno);
perror(NULL);
assert(false);
exit(EDATA);
@@ -1150,19 +1150,19 @@ FILE*_myfopen(files file, bool write){
} else
#endif /* WITH_FMEMOPEN */
{
- pFile = tryopen(data[file].name,"wb");
- if (fwrite(data[file].data, 1, data[file].len, pFile) != data[file].len) {
- IssueMessage(0, DATAFILE_ERROR, WRITE, data[file].name + 1, -1);
+ pFile = tryopen(datafiles[file].name,"wb");
+ if (fwrite(datafiles[file].data, 1, datafiles[file].len, pFile) != datafiles[file].len) {
+ IssueMessage(0, DATAFILE_ERROR, WRITE, datafiles[file].name + 1, -1);
assert(false);
exit(EDATA);
}
fclose(pFile);
- pFile = tryopen(data[file].name,"rb");
+ pFile = tryopen(datafiles[file].name,"rb");
}
fgetc(pFile);
fgetc(pFile);
if(file>datfeat && (uint)fgetc(pFile)<MaxFeature()){
- IssueMessage(0,DATAFILE_MISMATCH,data[file].name+NFORENUM_DIR_LEN);
+ IssueMessage(0,DATAFILE_MISMATCH,datafiles[file].name+NFORENUM_DIR_LEN);
assert(false);
exit(EDATA);
}
@@ -1171,7 +1171,7 @@ FILE*_myfopen(files file, bool write){
int _CheckEOF(int dat,files file,const char*src,int line){
if(dat==EOF){
- IssueMessage(0,DATAFILE_ERROR,LOAD,data[file].name+NFORENUM_DIR_LEN,FILELINE,src,line);
+ IssueMessage(0,DATAFILE_ERROR,LOAD,datafiles[file].name+NFORENUM_DIR_LEN,FILELINE,src,line);
assert(false);
exit(EDATA);
}
@@ -1185,7 +1185,7 @@ int _GetCheckWord(FILE*pFile,files file,
void _myfread(FILE*pFile,uchar*target,uint count,files file,const char*src,int line){
if(fread(target,1,count,pFile)!=count){
- IssueMessage(0,DATAFILE_ERROR,LOAD,data[file].name+NFORENUM_DIR_LEN,FILELINE,src,line);
+ IssueMessage(0,DATAFILE_ERROR,LOAD,datafiles[file].name+NFORENUM_DIR_LEN,FILELINE,src,line);
assert(false);
exit(EDATA);
}
|