summarylogtreecommitdiffstats
path: root/80-gcc7.patch
diff options
context:
space:
mode:
authorMike Swanson2017-08-26 14:49:08 -0700
committerMike Swanson2017-08-26 14:58:21 -0700
commitc3d7bf13209f076a455eae343e515570fbc723a3 (patch)
tree57d48405ea0d8bb07d6b360bf959850323d386cc /80-gcc7.patch
parent0412e49c1c8ff3f85e96b204038ab801f02cdf0b (diff)
downloadaur-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.patch221
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