diff options
author | Mike Swanson | 2017-08-26 14:49:08 -0700 |
---|---|---|
committer | Mike Swanson | 2017-08-26 14:58:21 -0700 |
commit | c3d7bf13209f076a455eae343e515570fbc723a3 (patch) | |
tree | 57d48405ea0d8bb07d6b360bf959850323d386cc /80-gcc7.patch | |
parent | 0412e49c1c8ff3f85e96b204038ab801f02cdf0b (diff) | |
download | aur-c3d7bf13209f076a455eae343e515570fbc723a3.tar.gz |
Update to a git snapshot
Builds with GCC 7.1.1 and some other libraries, via patches from Debian
Diffstat (limited to '80-gcc7.patch')
-rw-r--r-- | 80-gcc7.patch | 221 |
1 files changed, 221 insertions, 0 deletions
diff --git a/80-gcc7.patch b/80-gcc7.patch new file mode 100644 index 000000000000..6ea6cf786e95 --- /dev/null +++ b/80-gcc7.patch @@ -0,0 +1,221 @@ +diff --git a/doomclassic/doom/st_stuff.cpp b/doomclassic/doom/st_stuff.cpp +index 481ec82..baeaf01 100644 +--- a/doomclassic/doom/st_stuff.cpp ++++ b/doomclassic/doom/st_stuff.cpp +@@ -968,7 +968,7 @@ void ST_loadGraphics(void) + int j; + int facenum; + +- char namebuf[9]; ++ char namebuf[11]; + + // Load the numbers, tall and short + for (i=0;i<10;i++) +diff --git a/doomclassic/doom/wi_stuff.cpp b/doomclassic/doom/wi_stuff.cpp +index 47837cf..cec5156 100644 +--- a/doomclassic/doom/wi_stuff.cpp ++++ b/doomclassic/doom/wi_stuff.cpp +@@ -1503,16 +1503,17 @@ void WI_loadData(void) + { + int i; + int j; +- char name[9]; ++ char name[20]; + anim_t* a; + +- if (::g->gamemode == commercial) ++ if (::g->gamemode == commercial) { + strcpy(name, "INTERPIC"); + // DHM - Nerve :: Use our background image + //strcpy(name, "DMENUPIC"); +- else +- sprintf(name, "WIMAP%d", ::g->wbs->epsd); +- ++ } else { ++ snprintf(name, 20, "WIMAP%d", ::g->wbs->epsd); ++ name[19] = 0; ++ } + if ( ::g->gamemode == retail ) + { + if (::g->wbs->epsd == 3) +@@ -1542,7 +1543,8 @@ void WI_loadData(void) + ::g->lnames = (patch_t **) DoomLib::Z_Malloc(sizeof(patch_t*) * ::g->NUMCMAPS, PU_LEVEL_SHARED, 0); + for (i=0 ; i < ::g->NUMCMAPS ; i++) + { +- sprintf(name, "CWILV%2.2d", i); ++ snprintf(name, 20, "CWILV%2.2d", i); ++ name[19] = 0; + ::g->lnames[i] = (patch_t*)W_CacheLumpName(name, PU_LEVEL_SHARED); + } + } +@@ -1551,7 +1553,8 @@ void WI_loadData(void) + ::g->lnames = (patch_t **) DoomLib::Z_Malloc(sizeof(patch_t*) * ( NUMMAPS ), PU_LEVEL_SHARED, 0); + for (i=0 ; i<NUMMAPS ; i++) + { +- sprintf(name, "WILV%d%d", ::g->wbs->epsd, i); ++ snprintf(name, 20, "WILV%d%d", ::g->wbs->epsd, i); ++ name[19] = 0; + ::g->lnames[i] = (patch_t*)W_CacheLumpName(name, PU_LEVEL_SHARED); + } + +@@ -1575,7 +1578,8 @@ void WI_loadData(void) + if (::g->wbs->epsd != 1 || j != 8) + { + // animations +- sprintf(name, "WIA%d%.2d%.2d", ::g->wbs->epsd, j, i); ++ snprintf(name, 20, "WIA%d%.2d%.2d", ::g->wbs->epsd, j, i); ++ name[19] = 0; + a->p[i] = (patch_t*)W_CacheLumpName(name, PU_LEVEL_SHARED); + } + else +@@ -1594,7 +1598,7 @@ void WI_loadData(void) + for (i=0;i<10;i++) + { + // numbers 0-9 +- sprintf(name, "WINUM%d", i); ++ snprintf(name, 10, "WINUM%d", i); name[9] = 0; + ::g->num[i] = (patch_t*)W_CacheLumpName(name, PU_LEVEL_SHARED); + } + +@@ -1651,11 +1655,11 @@ void WI_loadData(void) + for (i=0 ; i<MAXPLAYERS ; i++) + { + // "1,2,3,4" +- sprintf(name, "STPB%d", i); ++ snprintf(name, 10, "STPB%d", i); name[9] = 0; + ::g->wistuff_p[i] = (patch_t*)W_CacheLumpName(name, PU_LEVEL_SHARED); + + // "1,2,3,4" +- sprintf(name, "WIBP%d", i+1); ++ snprintf(name, 10, "WIBP%d", i+1); name[9] = 0; + ::g->wistuff_bp[i] = (patch_t*)W_CacheLumpName(name, PU_LEVEL_SHARED); + } + +diff --git a/neo/d3xp/MultiplayerGame.cpp b/neo/d3xp/MultiplayerGame.cpp +index a14c6da..4780f95 100644 +--- a/neo/d3xp/MultiplayerGame.cpp ++++ b/neo/d3xp/MultiplayerGame.cpp +@@ -631,7 +631,8 @@ idMultiplayerGame::GameTime + const char* idMultiplayerGame::GameTime() + { + static char buff[16]; +- int m, s, t, ms; ++ unsigned int m, s, t; ++ int ms; + + if( gameState == COUNTDOWN ) + { +@@ -653,7 +654,9 @@ const char* idMultiplayerGame::GameTime() + } + else + { +- sprintf( buff, "WMP %i", s ); ++ snprintf( buff, 16, "WMP %i", s ); ++ buff[15] = 0; ++ + } + } + else +@@ -678,7 +681,8 @@ const char* idMultiplayerGame::GameTime() + t = s / 10; + s -= t * 10; + +- sprintf( buff, "%i:%i%i", m, t, s ); ++ snprintf( buff, 16, "%i:%i%i", m, t, s ); ++ buff[15] = 0; + } + return &buff[0]; + } +diff --git a/neo/idlib/StrStatic.h b/neo/idlib/StrStatic.h +index 4fdb52d..63c930f 100644 +--- a/neo/idlib/StrStatic.h ++++ b/neo/idlib/StrStatic.h +@@ -97,7 +97,7 @@ public: + { + buffer[ 0 ] = '\0'; + SetStaticBuffer( buffer, _size_ ); +- idStr::operator=( b ); ++ idStr::operator=( idStr(b) ); + } + + ID_INLINE explicit idStrStatic( const char c ) : +@@ -105,7 +105,7 @@ public: + { + buffer[ 0 ] = '\0'; + SetStaticBuffer( buffer, _size_ ); +- idStr::operator=( c ); ++ idStr::operator=( idStr(c) ); + } + + ID_INLINE explicit idStrStatic( const int i ) : +@@ -113,7 +113,7 @@ public: + { + buffer[ 0 ] = '\0'; + SetStaticBuffer( buffer, _size_ ); +- idStr::operator=( i ); ++ idStr::operator=( idStr(i) ); + } + + ID_INLINE explicit idStrStatic( const unsigned u ) : +@@ -121,7 +121,7 @@ public: + { + buffer[ 0 ] = '\0'; + SetStaticBuffer( buffer, _size_ ); +- idStr::operator=( u ); ++ idStr::operator=( idStr(u) ); + } + + ID_INLINE explicit idStrStatic( const float f ) : +@@ -129,7 +129,7 @@ public: + { + buffer[ 0 ] = '\0'; + SetStaticBuffer( buffer, _size_ ); +- idStr::operator=( f ); ++ idStr::operator=( idStr(f) ); + } + + private: +diff --git a/neo/tools/compilers/dmap/dmap.cpp b/neo/tools/compilers/dmap/dmap.cpp +index 655e881..03c5831 100644 +--- a/neo/tools/compilers/dmap/dmap.cpp ++++ b/neo/tools/compilers/dmap/dmap.cpp +@@ -34,6 +34,10 @@ If you have questions concerning this license or the applicable additional terms + + dmapGlobals_t dmapGlobals; + ++#ifndef PATH_MAX ++#define PATH_MAX 4096 ++#endif ++ + /* + ============ + ProcessModel +@@ -243,7 +247,7 @@ void Dmap( const idCmdArgs& args ) + { + int i; + int start, end; +- char path[1024]; ++ char path[PATH_MAX]; + idStr passedName; + bool leaked = false; + bool noCM = false; +@@ -390,7 +394,8 @@ void Dmap( const idCmdArgs& args ) + // if this isn't a regioned map, delete the last saved region map + if( passedName.Right( 4 ) != ".reg" ) + { +- sprintf( path, "%s.reg", dmapGlobals.mapFileBase ); ++ snprintf( path, PATH_MAX, "%s.reg", dmapGlobals.mapFileBase ); ++ path[PATH_MAX-1] = 0; + fileSystem->RemoveFile( path ); + } + else +@@ -402,7 +407,8 @@ void Dmap( const idCmdArgs& args ) + passedName = stripped; + + // delete any old line leak files +- sprintf( path, "%s.lin", dmapGlobals.mapFileBase ); ++ snprintf( path, PATH_MAX, "%s.lin", dmapGlobals.mapFileBase ); ++ path[PATH_MAX-1] = 0; + fileSystem->RemoveFile( path ); + + // delete any old generated binary proc files |