Jump to content

Console Bugs + Fix


Guest cyrex

Recommended Posts

When compiling latest Mangos on Ubuntu i get several warnings. I leave here one of the fixes while i learn how to fix the rest:

diff --git a/src/game/CombatHandler.cpp b/src/game/CombatHandler.cpp
index ab821bf..a284355 100644
--- a/src/game/CombatHandler.cpp
+++ b/src/game/CombatHandler.cpp
@@ -36,7 +36,7 @@ void WorldSession::HandleAttackSwingOpcode( WorldPacket & recv_data )
    if(!pEnemy)
    {
        if(!guid.IsUnit())
-            sLog.outError("WORLD: %u isn't player, pet or creature", guid.GetString().c_str());
+            sLog.outError("WORLD: %s isn't player, pet or creature", guid.GetString().c_str());
        else
            sLog.outError( "WORLD: Enemy %s not found", guid.GetString().c_str());


The rest of the warnings are divided into 2 groups. The functions which are this 3:

/bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H   -I../../../../dep/ACE_wrappers -I.. -DACE_BUILD_DLL   -W -Wall -Wpointer-arith  -g -O2 -pthread -pipe -O3 -MT libACE_la-LSOCK.lo -MD -MP -MF .deps/libACE_la-LSOCK.Tpo -c -o libACE_la-LSOCK.lo `test -f 'LSOCK.cpp' || echo '../../../../dep/ACE_wrappers/ace/'`LSOCK.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I../../../../dep/ACE_wrappers -I.. -DACE_BUILD_DLL -W -Wall -Wpointer-arith -g -O2 -pthread -pipe -O3 -MT libACE_la-LSOCK.lo -MD -MP -MF .deps/libACE_la-LSOCK.Tpo -c ../../../../dep/ACE_wrappers/ace/LSOCK.cpp  -fPIC -DPIC -o .libs/libACE_la-LSOCK.o
../../../../dep/ACE_wrappers/ace/LSOCK.cpp: In member function ‘ssize_t ACE_LSOCK::send_handle(ACE_HANDLE) const’:
../../../../dep/ACE_wrappers/ace/LSOCK.cpp:62: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../../../dep/ACE_wrappers/ace/LSOCK.cpp: In member function ‘ssize_t ACE_LSOCK::recv_handle(ACE_HANDLE&, char*, ssize_t*) const’:
../../../../dep/ACE_wrappers/ace/LSOCK.cpp:126: warning: dereferencing type-punned pointer will break strict-aliasing rules
mv -f .deps/libACE_la-LSOCK.Tpo .deps/libACE_la-LSOCK.Plo


/bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H   -I../../../../dep/ACE_wrappers -I.. -DACE_BUILD_DLL   -W -Wall -Wpointer-arith  -g -O2 -pthread -pipe -O3 -MT libACE_la-LSOCK_Stream.lo -MD -MP -MF .deps/libACE_la-LSOCK_Stream.Tpo -c -o libACE_la-LSOCK_Stream.lo `test -f 'LSOCK_Stream.cpp' || echo '../../../../dep/ACE_wrappers/ace/'`LSOCK_Stream.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I../../../../dep/ACE_wrappers -I.. -DACE_BUILD_DLL -W -Wall -Wpointer-arith -g -O2 -pthread -pipe -O3 -MT libACE_la-LSOCK_Stream.lo -MD -MP -MF .deps/libACE_la-LSOCK_Stream.Tpo -c ../../../../dep/ACE_wrappers/ace/LSOCK_Stream.cpp  -fPIC -DPIC -o .libs/libACE_la-LSOCK_Stream.o
../../../../dep/ACE_wrappers/ace/LSOCK_Stream.cpp: In member function ‘ssize_t ACE_LSOCK_Stream::send_msg(const iovec*, size_t, ACE_HANDLE)’:
../../../../dep/ACE_wrappers/ace/LSOCK_Stream.cpp:87: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../../../dep/ACE_wrappers/ace/LSOCK_Stream.cpp: In member function ‘ssize_t ACE_LSOCK_Stream::recv_msg(iovec*, size_t, ACE_HANDLE&)’:
../../../../dep/ACE_wrappers/ace/LSOCK_Stream.cpp:123: warning: dereferencing type-punned pointer will break strict-aliasing rules
mv -f .deps/libACE_la-LSOCK_Stream.Tpo .deps/libACE_la-LSOCK_Stream.Plo


/bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H   -I../../../../dep/ACE_wrappers -I.. -DACE_BUILD_DLL   -W -Wall -Wpointer-arith  -g -O2 -pthread -pipe -O3 -MT libACE_la-POSIX_Proactor.lo -MD -MP -MF .deps/libACE_la-POSIX_Proactor.Tpo -c -o libACE_la-POSIX_Proactor.lo `test -f 'POSIX_Proactor.cpp' || echo '../../../../dep/ACE_wrappers/ace/'`POSIX_Proactor.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I../../../../dep/ACE_wrappers -I.. -DACE_BUILD_DLL -W -Wall -Wpointer-arith -g -O2 -pthread -pipe -O3 -MT libACE_la-POSIX_Proactor.lo -MD -MP -MF .deps/libACE_la-POSIX_Proactor.Tpo -c ../../../../dep/ACE_wrappers/ace/POSIX_Proactor.cpp  -fPIC -DPIC -o .libs/libACE_la-POSIX_Proactor.o
../../../../dep/ACE_wrappers/ace/POSIX_Proactor.cpp: In member function ‘virtual int ACE_POSIX_AIOCB_Proactor::get_result_status(ACE_POSIX_Asynch_Result*, int&, size_t&)’:
../../../../dep/ACE_wrappers/ace/POSIX_Proactor.cpp:1242: warning: null argument where non-null required (argument 1)
../../../../dep/ACE_wrappers/ace/POSIX_Proactor.cpp:1246: warning: null argument where non-null required (argument 1)
../../../../dep/ACE_wrappers/ace/POSIX_Proactor.cpp: In member function ‘virtual int ACE_POSIX_AIOCB_Proactor::start_aio_i(ACE_POSIX_Asynch_Result*)’:
../../../../dep/ACE_wrappers/ace/POSIX_Proactor.cpp:1433: warning: null argument where non-null required (argument 1)
../../../../dep/ACE_wrappers/ace/POSIX_Proactor.cpp:1437: warning: null argument where non-null required (argument 1)
mv -f .deps/libACE_la-POSIX_Proactor.Tpo .deps/libACE_la-POSIX_Proactor.Plo

And the warn_unused_result:

  CXX    genrevision.o
../../../../src/tools/genrevision/genrevision.cpp: In function ‘void extractDataFromSvn(FILE*, bool, RawData&)’:
../../../../src/tools/genrevision/genrevision.cpp:41: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:42: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:43: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:44: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:45: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:46: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:47: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:48: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:49: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:50: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
 CXXLD  genrevision



 CXX    dotconfpp.o
../../../../src/shared/Config/dotconfpp/dotconfpp.cpp: In member function ‘int DOTCONFDocument::setContent(const char*)’:
../../../../src/shared/Config/dotconfpp/dotconfpp.cpp:425: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
 CXX    mempool.o



 CXX    ModelContainer.o
../../../../src/shared/vmap/ModelContainer.cpp: In member function ‘bool VMAP::ModelContainer::readFile(const char*)’:
../../../../src/shared/vmap/ModelContainer.cpp:258: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
 CXX    SubModel.o



 CXX    VMapManager.o
../../../../src/shared/vmap/VMapManager.cpp: In member function ‘bool VMAP::VMapManager::_existsMap(const std::string&, unsigned int, int, int, bool)’:
../../../../src/shared/vmap/VMapManager.cpp:294: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
 AR     libmangosvmaps.a



 CXX    DBCStores.o
../../../src/game/DBCStores.cpp: In function ‘bool ReadDBCBuildFileText(const std::string&, const char*, std::string&)’:
../../../src/game/DBCStores.cpp:191: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
 CXX    debugcmds.o



 CXX    Map.o
../../../src/game/Map.cpp: In static member function ‘static bool Map::ExistMap(uint32, int, int)’:
../../../src/game/Map.cpp:85: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp: In member function ‘bool GridMap::loadData(char*)’:
../../../src/game/Map.cpp:1131: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp: In member function ‘bool GridMap::loadAreaData(FILE*, uint32, uint32)’:
../../../src/game/Map.cpp:1184: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1192: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp: In member function ‘bool GridMap::loadHeightData(FILE*, uint32, uint32)’:
../../../src/game/Map.cpp:1201: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1212: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1213: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1221: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1222: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1230: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1231: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp: In member function ‘bool GridMap::loadLiquidData(FILE*, uint32, uint32)’:
../../../src/game/Map.cpp:1244: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1258: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1263: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
 CXX    MapInstanced.o

Link to comment
Share on other sites

Looks like good work, but that's only the opinion of someone who is far from qualified to be a developer. I base it on the intuitive sense of the overall structure looking correct and the sensibility of your attention to detail.

So why would this be in Core Mods and not in Patch Submissions? It looks like a must have fix to me.

Link to comment
Share on other sites

Ok For the second part i found out that the attribute warn_unused_result is a common problem for gcc. gcc 4.5 fixes tis issue but since i have ubuntu 9.10 am still using the 4.4 branch. So this will be solve when 10.04 comes out.

For the first part i need to wait for gcc 4.5 to find out about something since it looks it is also something not fixed yet.

Link to comment
Share on other sites

You could just recompile your kernel with gcc 4.5, but I understand that's a task not many enjoy doing. lol

Still, thanks for keeping on top of this.

There's probably an Ubuntu 9.04/9.10 repository that contains the packages for GCC 4.5+ he could try installing that but that might give more problems.

Link to comment
Share on other sites

  • 3 weeks later...
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use