tag 417760 patch thanks Martin Michlmayr <[EMAIL PROTECTED]> (27/01/2008): > Unfortunately, some more headers got cleaned up after I reported my > original bug report with patch. The good news is that there won't be > any further changes from the side of GCC, so please compile your > package with gcc-4.3 or gcc-snapshot from unstable to see what > remaining issues there are. Thanks.
Hi, please find attached a patch (I started from scratch). Mostly missing #includes, a PATH_MAX workaround, and a “foo(bar baz, bar baz)” replaced with “foo(bar baz1, bar baz2)”. It then chokes on -lintl being not found, but I guess that it happens because of the way I force the use of gcc/g++ 4.3 (scons, amongst others, don't honour CC & CXX, and can even not care about PATH and use /usr/bin/g* no matter what. So I replaced the gcc/g++ symlinks to point to g*-4.3 instead of g*-4.2). Since the #includes stuff is solved at least, tagging patch again. I'll try and see if some work is needed to fix the -lintl linking. Cheers, -- Cyril Brulebois
--- a/src/editor_game_base.cc +++ b/src/editor_game_base.cc @@ -40,6 +40,7 @@ #include "ui_progresswindow.h" #include <set> +#include <algorithm> extern Map_Object_Descr g_road_descr; --- a/src/main.cc +++ b/src/main.cc @@ -29,6 +29,7 @@ #include <SDL_main.h> +#include <typeinfo> using std::cerr; using std::endl; --- a/src/map_event_manager.cc +++ b/src/map_event_manager.cc @@ -22,6 +22,7 @@ #include "events/event.h" #include <vector> +#include <cstring> MapEventManager::MapEventManager() {} --- a/src/map_eventchain_manager.cc +++ b/src/map_eventchain_manager.cc @@ -22,6 +22,7 @@ #include "trigger/trigger_conditional.h" #include <vector> +#include <cstring> MapEventChainManager::MapEventChainManager() {} --- a/src/editor/tools/multi_select.h +++ b/src/editor/tools/multi_select.h @@ -23,6 +23,8 @@ #include "error.h" #include <vector> +#include <cstdlib> +#include <climits> /* ============================= --- a/src/filesystem/filesystem.cc +++ b/src/filesystem/filesystem.cc @@ -49,6 +49,16 @@ #endif #include <unistd.h> +#include <cstdlib> +#include <cstring> + +/* UGLY workaround: it's way better not to assume any PATH_MAX limitation, + * and to use a loop with dynamic realloc until the path has been copied + * successfully. */ +#ifndef PATH_MAX +#define PATH_MAX 4096 +#endif + FileSystem::FileSystem() { #ifdef __WIN32__ --- a/src/filesystem/zip_filesystem.cc +++ b/src/filesystem/zip_filesystem.cc @@ -26,6 +26,9 @@ #include <string> +#include <cstdlib> +#include <cstring> + /** * Initialize the real file-system --- a/src/map_objective_manager.cc +++ b/src/map_objective_manager.cc @@ -20,6 +20,7 @@ #include "map_objective_manager.h" #include <vector> +#include <cstring> MapObjectiveManager::MapObjectiveManager() {} --- a/src/map_trigger_manager.cc +++ b/src/map_trigger_manager.cc @@ -22,6 +22,7 @@ #include "trigger/trigger.h" #include <vector> +#include <cstring> MapTriggerManager::MapTriggerManager() {} --- a/src/map_variable_manager.cc +++ b/src/map_variable_manager.cc @@ -22,6 +22,7 @@ #include "i18n.h" #include <vector> +#include <cstring> MapVariableManager::MapVariableManager() { --- a/src/text_parser.cc +++ b/src/text_parser.cc @@ -26,6 +26,7 @@ #include <vector> #include <string> +#include <algorithm> Richtext_Block::Richtext_Block() { m_image_align = Align_Left; --- a/src/transport.cc +++ b/src/transport.cc @@ -50,6 +50,8 @@ #include <stdio.h> +#include <algorithm> + Map_Object_Descr g_flag_descr; --- a/src/ui/ui_basic/ui_window.cc +++ b/src/ui/ui_basic/ui_window.cc @@ -25,6 +25,7 @@ #include "constants.h" #include "keycodes.h" #include "wlapplication.h" +#include <cstdlib> namespace UI { // Width the horizontal border grapichs must have. --- a/src/ui/ui_fs_menus/fullscreen_menu_inet_lobby.h +++ b/src/ui/ui_fs_menus/fullscreen_menu_inet_lobby.h @@ -44,7 +44,7 @@ void server_message(std::string str); void user_entered(std::string name, std::string room, bool enters) ; - void user_info(std::string name, std::string name, std::string room) ; + void user_info(std::string name1, std::string name2, std::string room) ; void room_info(std::vector< std::string > users); void chat_message(std::string user, std::string room, bool is_action); void critical_error(std::string str);
signature.asc
Description: Digital signature