Commit 86441ba7 authored by Thorbjørn Lindeijer's avatar Thorbjørn Lindeijer

Use the insert/replace functionality of the binary patcher

Hasn't received a lot of testing, so will have to see whether this
works in practice.
parent 65184970
......@@ -36,9 +36,9 @@
#include <locale>
#include <qglobal.h>
#include "binpatch.h"
#ifdef Q_OS_WIN
# define strcasecmp _stricmp
# define strncasecmp _strnicmp
......@@ -112,7 +112,7 @@ bool BinPatch::patchHelper(char *inbuffer, const char *oldstr, const char *newst
write = false;
break;
}
long oldsize = -1;
if (useLength) { //VC60
oldsize = (unsigned char)(*(inbuffer-1));
......@@ -125,7 +125,7 @@ bool BinPatch::patchHelper(char *inbuffer, const char *oldstr, const char *newst
}
oldsize = getBufferStringLength(inbuffer, inend);
if (oldsize < 0) {
*rw = (long)(inend-inbuffer); //rewind, entire string not in buffer
break;
......@@ -210,8 +210,8 @@ bool BinPatch::patch(const char *oldstr, const char *newstr)
break;
len = fread(data, sizeof(char), sizeof(data), input);
} while(!(feof(input) && (len <= oldlen || len <= newlen)));
fclose(input);
return true;
}
......@@ -170,423 +170,332 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath)
const char *sourceLocation;
} libraries[] = {
#ifdef Q_OS_WIN
{"/bin/Qt3Supportd4.dll", "/src/qt3support/"},
{"/bin/QtCored4.dll", "/src/corelib/"},
{"/bin/QtGuid4.dll", "/src/gui/"},
{"/bin/QtHelpd4.dll", "/tools/assistant/lib/"},
{"/bin/QtNetworkd4.dll", "/src/network/"},
{"/bin/QtOpenGLd4.dll", "/src/opengl/"},
{"/bin/QtScriptd4.dll", "/src/script/"},
{"/bin/QtScriptToolsd4.dll", "/src/scripttools/"},
{"/bin/QtSqld4.dll", "/src/sql/"},
{"/bin/QtSvgd4.dll", "/src/svg/"},
{"/bin/QtTestd4.dll", "/src/testlib/"},
{"/bin/QtWebKitd4.dll", "/src/3rdparty/webkit/WebCore/"},
{"/bin/QtXmld4.dll", "/src/xml/"},
{"/bin/QtXmlPatternsd4.dll", "/src/xmlpatterns/"},
{"/lib/Qt3Supportd4.dll", "/src/qt3support/"},
{"/lib/QtCored4.dll", "/src/corelib/"},
{"/lib/QtGuid4.dll", "/src/gui/"},
{"/lib/QtHelpd4.dll", "/tools/assistant/lib/"},
{"/lib/QtNetworkd4.dll", "/src/network/"},
{"/lib/QtOpenGLd4.dll", "/src/opengl/"},
{"/lib/QtScriptd4.dll", "/src/script/"},
{"/lib/QtScriptToolsd4.dll", "/src/scripttools/"},
{"/lib/QtSqld4.dll", "/src/sql/"},
{"/lib/QtSvgd4.dll", "/src/svg/"},
{"/lib/QtTestd4.dll", "/src/testlib/"},
{"/lib/QtWebKitd4.dll", "/src/3rdparty/webkit/WebCore/"},
{"/lib/QtXmld4.dll", "/src/xml/"},
{"/lib/QtXmlPatternsd4.dll", "/src/xmlpatterns/"},
{"/plugins/accessible/qtaccessiblecompatwidgetsd4.dll", "/src/plugins/accessible/compat/"},
{"/plugins/accessible/qtaccessiblewidgetsd4.dll", "/src/plugins/accessible/widgets/"},
{"/plugins/codecs/qcncodecsd4.dll", "/src/plugins/codecs/cn/"},
{"/plugins/codecs/qjpcodecsd4.dll", "/src/plugins/codecs/jp/"},
{"/plugins/codecs/qkrcodecsd4.dll", "/src/plugins/codecs/kr/"},
{"/plugins/codecs/qtwcodecsd4.dll", "/src/plugins/codecs/tw/"},
{"/plugins/iconengines/qsvgicond4.dll", "/src/plugins/iconengines/svgiconengine/"},
{"/plugins/imageformats/qgifd4.dll", "/src/plugins/imageformats/gif/"},
{"/plugins/imageformats/qjpegd4.dll", "/src/plugins/imageformats/jpeg/"},
{"/plugins/imageformats/qmngd4.dll", "/src/plugins/imageformats/mng/"},
{"/plugins/imageformats/qsvgd4.dll", "/src/plugins/imageformats/svg/"},
{"/plugins/imageformats/qtiffd4.dll", "/src/plugins/imageformats/tiff/"},
{"/plugins/sqldrivers/qsqlited4.dll", "/src/plugins/sqldrivers/sqlite/"},
// {"/plugins/sqldrivers/qsqlodbcd4.dll", "/src/plugins/sqldrivers/odbc/"}
{ "/bin/Qt3Supportd4.dll" },
{ "/bin/QtCored4.dll" },
{ "/bin/QtGuid4.dll" },
{ "/bin/QtHelpd4.dll" },
{ "/bin/QtNetworkd4.dll" },
{ "/bin/QtOpenGLd4.dll" },
{ "/bin/QtScriptd4.dll" },
{ "/bin/QtScriptToolsd4.dll" },
{ "/bin/QtSqld4.dll" },
{ "/bin/QtSvgd4.dll" },
{ "/bin/QtTestd4.dll" },
{ "/bin/QtWebKitd4.dll" },
{ "/bin/QtXmld4.dll" },
{ "/bin/QtXmlPatternsd4.dll" },
{ "/lib/Qt3Supportd4.dll" },
{ "/lib/QtCored4.dll" },
{ "/lib/QtGuid4.dll" },
{ "/lib/QtHelpd4.dll" },
{ "/lib/QtNetworkd4.dll" },
{ "/lib/QtOpenGLd4.dll" },
{ "/lib/QtScriptd4.dll" },
{ "/lib/QtScriptToolsd4.dll" },
{ "/lib/QtSqld4.dll" },
{ "/lib/QtSvgd4.dll" },
{ "/lib/QtTestd4.dll" },
{ "/lib/QtWebKitd4.dll" },
{ "/lib/QtXmld4.dll" },
{ "/lib/QtXmlPatternsd4.dll" },
{ "/plugins/accessible/qtaccessiblecompatwidgetsd4.dll" },
{ "/plugins/accessible/qtaccessiblewidgetsd4.dll" },
{ "/plugins/codecs/qcncodecsd4.dll" },
{ "/plugins/codecs/qjpcodecsd4.dll" },
{ "/plugins/codecs/qkrcodecsd4.dll" },
{ "/plugins/codecs/qtwcodecsd4.dll" },
{ "/plugins/iconengines/qsvgicond4.dll" },
{ "/plugins/imageformats/qgifd4.dll" },
{ "/plugins/imageformats/qjpegd4.dll" },
{ "/plugins/imageformats/qmngd4.dll" },
{ "/plugins/imageformats/qsvgd4.dll" },
{ "/plugins/imageformats/qtiffd4.dll" },
{ "/plugins/sqldrivers/qsqlited4.dll" },
// { "/plugins/sqldrivers/qsqlodbcd4.dll" }
#else
{"/examples/tools/plugandpaint/plugins/libpnp_basictools.a", "/examples/tools/plugandpaintplugins/basictools"},
{"/lib/libQtUiTools.a", "/tools/designer/src/uitools"},
{"/demos/shared/libdemo_shared.a", "/demos/shared"},
{"/plugins/codecs/libqkrcodecs.so", "/plugins/codecs"},
{"/plugins/codecs/libqtwcodecs.so", "/plugins/codecs"},
{"/plugins/codecs/libqcncodecs.so", "/plugins/codecs"},
{"/plugins/codecs/libqjpcodecs.so", "/plugins/codecs"},
{"/plugins/iconengines/libqsvgicon.so", "/plugins/iconengines"},
{"/plugins/sqldrivers/libqsqlmysql.so", "/plugins/sqldrivers"},
{"/plugins/sqldrivers/libqsqlite.so", "/plugins/sqldrivers"},
{"/plugins/sqldrivers/libqsqlite2.so", "/plugins/sqldrivers"},
{"/plugins/sqldrivers/libqsqlpsql.so", "/plugins/sqldrivers"},
{"/plugins/imageformats/libqgif.so", "/plugins/imageformats"},
{"/plugins/imageformats/libqtiff.so", "/plugins/imageformats"},
{"/plugins/imageformats/libqsvg.so", "/plugins/imageformats"},
{"/plugins/imageformats/libqjpeg.so", "/plugins/imageformats"},
{"/plugins/imageformats/libqico.so", "/plugins/imageformats"},
{"/plugins/imageformats/libqmng.so", "/plugins/imageformats"},
{"/plugins/accessible/libqtaccessiblewidgets.so", "/plugins/accessible"},
{"/plugins/accessible/libqtaccessiblecompatwidgets.so", "/plugins/accessible"},
{"/plugins/designer/libcontainerextension.so", "/plugins/designer"},
{"/plugins/designer/libtaskmenuextension.so", "/plugins/designer"},
{"/plugins/designer/libqwebview.so", "/plugins/designer"},
{"/plugins/designer/libcustomwidgetplugin.so", "/plugins/designer"},
{"/plugins/designer/libarthurplugin.so", "/plugins/designer"},
{"/plugins/designer/libqt3supportwidgets.so", "/plugins/designer"},
{"/plugins/designer/libworldtimeclockplugin.so", "/plugins/designer"},
{"/plugins/inputmethods/libqimsw-multi.so", "/plugins/inputmethods"},
{"/plugins/script/libqtscriptdbus.so", "/plugins/script"},
{"/examples/draganddrop/puzzle/puzzle", "/examples/draganddrop/puzzle"},
{"/examples/draganddrop/dropsite/dropsite", "/examples/draganddrop/dropsite"},
{"/examples/draganddrop/draggabletext/draggabletext", "/examples/draganddrop/draggabletext"},
{"/examples/draganddrop/draggableicons/draggableicons", "/examples/draganddrop/draggableicons"},
{"/examples/draganddrop/fridgemagnets/fridgemagnets", "/examples/draganddrop/fridgemagnets"},
{"/examples/webkit/formextractor/formExtractor", "/examples/webkit/formextractor"},
{"/examples/webkit/previewer/previewer", "/examples/webkit/previewer"},
{"/examples/richtext/orderform/orderform", "/examples/richtext/orderform"},
{"/examples/richtext/calendar/calendar", "/examples/richtext/calendar"},
{"/examples/richtext/syntaxhighlighter/syntaxhighlighter", "/examples/richtext/syntaxhighlighter"},
{"/examples/desktop/systray/systray", "/examples/desktop/systray"},
{"/examples/desktop/screenshot/screenshot", "/examples/desktop/screenshot"},
{"/examples/linguist/arrowpad/arrowpad", "/examples/linguist/arrowpad"},
{"/examples/linguist/trollprint/trollprint", "/examples/linguist/trollprint"},
{"/examples/linguist/hellotr/hellotr", "/examples/linguist/hellotr"},
{"/examples/ipc/sharedmemory/sharedmemory", "/examples/ipc/sharedmemory"},
{"/examples/ipc/localfortuneclient/localfortuneclient", "/examples/ipc/localfortuneclient"},
{"/examples/ipc/localfortuneserver/localfortuneserver", "/examples/ipc/localfortuneserver"},
{"/examples/threads/waitconditions/waitconditions", "/examples/threads/waitconditions"},
{"/examples/threads/semaphores/semaphores", "/examples/threads/semaphores"},
{"/examples/threads/mandelbrot/mandelbrot", "/examples/threads/mandelbrot"},
{"/examples/dbus/listnames/listnames", "/examples/dbus/listnames"},
{"/examples/dbus/pingpong/ping", "/examples/dbus/pingpong"},
{"/examples/dbus/pingpong/pong", "/examples/dbus/pingpong"},
{"/examples/dbus/complexpingpong/complexping", "/examples/dbus/complexpingpong"},
{"/examples/dbus/complexpingpong/complexpong", "/examples/dbus/complexpingpong"},
{"/examples/dbus/chat/dbus-chat", "/examples/dbus/chat"},
{"/examples/dbus/remotecontrolledcar/car/car", "/examples/dbus/remotecontrolledcar/car"},
{"/examples/dbus/remotecontrolledcar/controller/controller", "/examples/dbus/remotecontrolledcar/controller"},
{"/examples/qtconcurrent/wordcount/wordcount", "/examples/qtconcurrent/wordcount"},
{"/examples/qtconcurrent/runfunction/runfunction", "/examples/qtconcurrent/runfunction"},
{"/examples/qtconcurrent/progressdialog/progressdialog", "/examples/qtconcurrent/progressdialog"},
{"/examples/qtconcurrent/map/mapdemo", "/examples/qtconcurrent/map"},
{"/examples/qtconcurrent/imagescaling/imagescaling", "/examples/qtconcurrent/imagescaling"},
{"/examples/designer/calculatorform/calculatorform", "/examples/designer/calculatorform"},
{"/examples/designer/worldtimeclockbuilder/worldtimeclockbuilder", "/examples/designer/worldtimeclockbuilder"},
{"/examples/designer/calculatorbuilder/calculatorbuilder", "/examples/designer/calculatorbuilder"},
{"/examples/sql/drilldown/drilldown", "/examples/sql/drilldown"},
{"/examples/sql/masterdetail/masterdetail", "/examples/sql/masterdetail"},
{"/examples/sql/tablemodel/tablemodel", "/examples/sql/tablemodel"},
{"/examples/sql/relationaltablemodel/relationaltablemodel", "/examples/sql/relationaltablemodel"},
{"/examples/sql/querymodel/querymodel", "/examples/sql/querymodel"},
{"/examples/sql/cachedtable/cachedtable", "/examples/sql/cachedtable"},
{"/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel", "/examples/xmlpatterns/qobjectxmlmodel"},
{"/examples/xmlpatterns/recipes/recipes", "/examples/xmlpatterns/recipes"},
{"/examples/xmlpatterns/filetree/filetree", "/examples/xmlpatterns/filetree"},
{"/examples/assistant/simpletextviewer/simpletextviewer", "/examples/assistant/simpletextviewer"},
{"/examples/help/simpletextviewer/simpletextviewer", "/examples/help/simpletextviewer"},
{"/examples/help/contextsensitivehelp/contextsensitivehelp", "/examples/help/contextsensitivehelp"},
{"/examples/help/remotecontrol/remotecontrol", "/examples/help/remotecontrol"},
{"/examples/opengl/grabber/grabber", "/examples/opengl/grabber"},
{"/examples/opengl/framebufferobject2/framebufferobject2", "/examples/opengl/framebufferobject2"},
{"/examples/opengl/hellogl/hellogl", "/examples/opengl/hellogl"},
{"/examples/opengl/framebufferobject/framebufferobject", "/examples/opengl/framebufferobject"},
{"/examples/opengl/overpainting/overpainting", "/examples/opengl/overpainting"},
{"/examples/opengl/pbuffers2/pbuffers2", "/examples/opengl/pbuffers2"},
{"/examples/opengl/2dpainting/2dpainting", "/examples/opengl/2dpainting"},
{"/examples/opengl/pbuffers/pbuffers", "/examples/opengl/pbuffers"},
{"/examples/opengl/samplebuffers/samplebuffers", "/examples/opengl/samplebuffers"},
{"/examples/opengl/textures/textures", "/examples/opengl/textures"},
{"/examples/graphicsview/elasticnodes/elasticnodes", "/examples/graphicsview/elasticnodes"},
{"/examples/graphicsview/collidingmice/collidingmice", "/examples/graphicsview/collidingmice"},
{"/examples/graphicsview/portedasteroids/portedasteroids", "/examples/graphicsview/portedasteroids"},
{"/examples/graphicsview/padnavigator/padnavigator", "/examples/graphicsview/padnavigator"},
{"/examples/graphicsview/portedcanvas/portedcanvas", "/examples/graphicsview/portedcanvas"},
{"/examples/graphicsview/diagramscene/diagramscene", "/examples/graphicsview/diagramscene"},
{"/examples/graphicsview/dragdroprobot/dragdroprobot", "/examples/graphicsview/dragdroprobot"},
{"/examples/mainwindows/menus/menus", "/examples/mainwindows/menus"},
{"/examples/mainwindows/mdi/mdi", "/examples/mainwindows/mdi"},
{"/examples/mainwindows/sdi/sdi", "/examples/mainwindows/sdi"},
{"/examples/mainwindows/recentfiles/recentfiles", "/examples/mainwindows/recentfiles"},
{"/examples/mainwindows/application/application", "/examples/mainwindows/application"},
{"/examples/mainwindows/dockwidgets/dockwidgets", "/examples/mainwindows/dockwidgets"},
{"/examples/widgets/tablet/tablet", "/examples/widgets/tablet"},
{"/examples/widgets/shapedclock/shapedclock", "/examples/widgets/shapedclock"},
{"/examples/widgets/styles/styles", "/examples/widgets/styles"},
{"/examples/widgets/icons/icons", "/examples/widgets/icons"},
{"/examples/widgets/charactermap/charactermap", "/examples/widgets/charactermap"},
{"/examples/widgets/sliders/sliders", "/examples/widgets/sliders"},
{"/examples/widgets/tooltips/tooltips", "/examples/widgets/tooltips"},
{"/examples/widgets/windowflags/windowflags", "/examples/widgets/windowflags"},
{"/examples/widgets/stylesheet/stylesheet", "/examples/widgets/stylesheet"},
{"/examples/widgets/spinboxes/spinboxes", "/examples/widgets/spinboxes"},
{"/examples/widgets/validators/validators", "/examples/widgets/validators"},
{"/examples/widgets/calculator/calculator", "/examples/widgets/calculator"},
{"/examples/widgets/groupbox/groupbox", "/examples/widgets/groupbox"},
{"/examples/widgets/scribble/scribble", "/examples/widgets/scribble"},
{"/examples/widgets/imageviewer/imageviewer", "/examples/widgets/imageviewer"},
{"/examples/widgets/digitalclock/digitalclock", "/examples/widgets/digitalclock"},
{"/examples/widgets/lineedits/lineedits", "/examples/widgets/lineedits"},
{"/examples/widgets/movie/movie", "/examples/widgets/movie"},
{"/examples/widgets/calendarwidget/calendarwidget", "/examples/widgets/calendarwidget"},
{"/examples/widgets/wiggly/wiggly", "/examples/widgets/wiggly"},
{"/examples/widgets/analogclock/analogclock", "/examples/widgets/analogclock"},
{"/examples/widgets/tetrix/tetrix", "/examples/widgets/tetrix"},
{"/examples/painting/basicdrawing/basicdrawing", "/examples/painting/basicdrawing"},
{"/examples/painting/svgviewer/svgviewer", "/examples/painting/svgviewer"},
{"/examples/painting/fontsampler/fontsampler", "/examples/painting/fontsampler"},
{"/examples/painting/concentriccircles/concentriccircles", "/examples/painting/concentriccircles"},
{"/examples/painting/painterpaths/painterpaths", "/examples/painting/painterpaths"},
{"/examples/painting/imagecomposition/imagecomposition", "/examples/painting/imagecomposition"},
{"/examples/painting/transformations/transformations", "/examples/painting/transformations"},
{"/examples/tools/customcompleter/customcompleter", "/examples/tools/customcompleter"},
{"/examples/tools/codecs/codecs", "/examples/tools/codecs"},
{"/examples/tools/plugandpaint/plugins/libpnp_extrafilters.so", "/examples/tools/plugandpaint/plugins"},
{"/examples/tools/plugandpaint/plugandpaint", "/examples/tools/plugandpaint"},
{"/examples/tools/regexp/regexp", "/examples/tools/regexp"},
{"/examples/tools/undoframework/undoframework", "/examples/tools/undoframework"},
{"/examples/tools/i18n/i18n", "/examples/tools/i18n"},
{"/examples/tools/completer/completer", "/examples/tools/completer"},
{"/examples/tools/echoplugin/plugin/libechoplugin.so", "/examples/tools/echoplugin/plugin"},
{"/examples/tools/echoplugin/echoplugin", "/examples/tools/echoplugin"},
{"/examples/tools/styleplugin/styles/libsimplestyleplugin.so", "/examples/tools/styleplugin/styles"},
{"/examples/tools/styleplugin/styleplugin", "/examples/tools/styleplugin"},
{"/examples/tools/treemodelcompleter/treemodelcompleter", "/examples/tools/treemodelcompleter"},
{"/examples/tools/settingseditor/settingseditor", "/examples/tools/settingseditor"},
{"/examples/network/securesocketclient/securesocketclient", "/examples/network/securesocketclient"},
{"/examples/network/broadcastreceiver/broadcastreceiver", "/examples/network/broadcastreceiver"},
{"/examples/network/downloadmanager/downloadmanager", "/examples/network/downloadmanager"},
{"/examples/network/fortuneserver/fortuneserver", "/examples/network/fortuneserver"},
{"/examples/network/loopback/loopback", "/examples/network/loopback"},
{"/examples/network/http/http", "/examples/network/http"},
{"/examples/network/ftp/ftp", "/examples/network/ftp"},
{"/examples/network/download/download", "/examples/network/download"},
{"/examples/network/fortuneclient/fortuneclient", "/examples/network/fortuneclient"},
{"/examples/network/blockingfortuneclient/blockingfortuneclient", "/examples/network/blockingfortuneclient"},
{"/examples/network/broadcastsender/broadcastsender", "/examples/network/broadcastsender"},
{"/examples/network/threadedfortuneserver/threadedfortuneserver", "/examples/network/threadedfortuneserver"},
{"/examples/network/chat/network-chat", "/examples/network/chat"},
{"/examples/network/torrent/torrent", "/examples/network/torrent"},
{"/examples/qtestlib/tutorial4/tutorial4", "/examples/qtestlib/tutorial4"},
{"/examples/qtestlib/tutorial1/tutorial1", "/examples/qtestlib/tutorial1"},
{"/examples/qtestlib/tutorial2/tutorial2", "/examples/qtestlib/tutorial2"},
{"/examples/qtestlib/tutorial3/tutorial3", "/examples/qtestlib/tutorial3"},
{"/examples/tutorials/tutorial/t3/t3", "/examples/tutorials/tutorial/t3"},
{"/examples/tutorials/tutorial/t5/t5", "/examples/tutorials/tutorial/t5"},
{"/examples/tutorials/tutorial/t2/t2", "/examples/tutorials/tutorial/t2"},
{"/examples/tutorials/tutorial/t11/t11", "/examples/tutorials/tutorial/t11"},
{"/examples/tutorials/tutorial/t6/t6", "/examples/tutorials/tutorial/t6"},
{"/examples/tutorials/tutorial/t13/t13", "/examples/tutorials/tutorial/t13"},
{"/examples/tutorials/tutorial/t12/t12", "/examples/tutorials/tutorial/t12"},
{"/examples/tutorials/tutorial/t9/t9", "/examples/tutorials/tutorial/t9"},
{"/examples/tutorials/tutorial/t1/t1", "/examples/tutorials/tutorial/t1"},
{"/examples/tutorials/tutorial/t4/t4", "/examples/tutorials/tutorial/t4"},
{"/examples/tutorials/tutorial/t14/t14", "/examples/tutorials/tutorial/t14"},
{"/examples/tutorials/tutorial/t8/t8", "/examples/tutorials/tutorial/t8"},
{"/examples/tutorials/tutorial/t7/t7", "/examples/tutorials/tutorial/t7"},
{"/examples/tutorials/tutorial/t10/t10", "/examples/tutorials/tutorial/t10"},
{"/examples/tutorials/addressbook/part2/part2", "/examples/tutorials/addressbook/part2"},
{"/examples/tutorials/addressbook/part5/part5", "/examples/tutorials/addressbook/part5"},
{"/examples/tutorials/addressbook/part3/part3", "/examples/tutorials/addressbook/part3"},
{"/examples/tutorials/addressbook/part4/part4", "/examples/tutorials/addressbook/part4"},
{"/examples/tutorials/addressbook/part7/part7", "/examples/tutorials/addressbook/part7"},
{"/examples/tutorials/addressbook/part1/part1", "/examples/tutorials/addressbook/part1"},
{"/examples/tutorials/addressbook/part6/part6", "/examples/tutorials/addressbook/part6"},
{"/examples/xml/streambookmarks/streambookmarks", "/examples/xml/streambookmarks"},
{"/examples/xml/saxbookmarks/saxbookmarks", "/examples/xml/saxbookmarks"},
{"/examples/xml/xmlstreamlint/xmlstreamlint", "/examples/xml/xmlstreamlint"},
{"/examples/xml/dombookmarks/dombookmarks", "/examples/xml/dombookmarks"},
{"/examples/xml/rsslisting/rsslisting", "/examples/xml/rsslisting"},
{"/examples/layouts/dynamiclayouts/dynamiclayouts", "/examples/layouts/dynamiclayouts"},
{"/examples/layouts/flowlayout/flowlayout", "/examples/layouts/flowlayout"},
{"/examples/layouts/borderlayout/borderlayout", "/examples/layouts/borderlayout"},
{"/examples/layouts/basiclayouts/basiclayouts", "/examples/layouts/basiclayouts"},
{"/examples/dialogs/trivialwizard/trivialwizard", "/examples/dialogs/trivialwizard"},
{"/examples/dialogs/extension/extension", "/examples/dialogs/extension"},
{"/examples/dialogs/standarddialogs/standarddialogs", "/examples/dialogs/standarddialogs"},
{"/examples/dialogs/tabdialog/tabdialog", "/examples/dialogs/tabdialog"},
{"/examples/dialogs/classwizard/classwizard", "/examples/dialogs/classwizard"},
{"/examples/dialogs/findfiles/findfiles", "/examples/dialogs/findfiles"},
{"/examples/dialogs/licensewizard/licensewizard", "/examples/dialogs/licensewizard"},
{"/examples/dialogs/configdialog/configdialog", "/examples/dialogs/configdialog"},
{"/examples/itemviews/coloreditorfactory/coloreditorfactory", "/examples/itemviews/coloreditorfactory"},
{"/examples/itemviews/pixelator/pixelator", "/examples/itemviews/pixelator"},
{"/examples/itemviews/simplewidgetmapper/simplewidgetmapper", "/examples/itemviews/simplewidgetmapper"},
{"/examples/itemviews/puzzle/puzzle", "/examples/itemviews/puzzle"},
{"/examples/itemviews/dirview/dirview", "/examples/itemviews/dirview"},
{"/examples/itemviews/addressbook/addressbook", "/examples/itemviews/addressbook"},
{"/examples/itemviews/spinboxdelegate/spinboxdelegate", "/examples/itemviews/spinboxdelegate"},
{"/examples/itemviews/simpletreemodel/simpletreemodel", "/examples/itemviews/simpletreemodel"},
{"/examples/itemviews/chart/chart", "/examples/itemviews/chart"},
{"/examples/itemviews/basicsortfiltermodel/basicsortfiltermodel", "/examples/itemviews/basicsortfiltermodel"},
{"/examples/itemviews/customsortfiltermodel/customsortfiltermodel", "/examples/itemviews/customsortfiltermodel"},
{"/examples/itemviews/stardelegate/stardelegate", "/examples/itemviews/stardelegate"},
{"/examples/itemviews/editabletreemodel/editabletreemodel", "/examples/itemviews/editabletreemodel"},
{"/examples/itemviews/simpledommodel/simpledommodel", "/examples/itemviews/simpledommodel"},
{"/examples/uitools/multipleinheritance/multipleinheritance", "/examples/uitools/multipleinheritance"},
{"/examples/uitools/textfinder/textfinder", "/examples/uitools/textfinder"},
{"/examples/script/helloscript/helloscript", "/examples/script/helloscript"},
{"/examples/script/marshal/marshal", "/examples/script/marshal"},
{"/examples/script/customclass/customclass", "/examples/script/customclass"},
{"/examples/script/calculator/calculator", "/examples/script/calculator"},
{"/examples/script/context2d/context2d", "/examples/script/context2d"},
{"/examples/script/defaultprototypes/defaultprototypes", "/examples/script/defaultprototypes"},
{"/examples/script/qscript/qscript", "/examples/script/qscript"},
{"/examples/script/tetrix/tetrix", "/examples/script/tetrix"},
{"/lib/libQtTest.so.4.5.0", "/lib"},
{"/lib/libQtDesignerComponents.so.4.5.0", "/lib"},
{"/lib/libQtScript.so.4.5.0", "/lib"},
{"/lib/libQtScriptTools.so.4.5.0", "/lib"},
{"/lib/libQtDesigner.so.4.5.0", "/lib"},
{"/lib/libQtGui.so.4.5.0", "/lib"},
{"/lib/libQtSvg.so.4.5.0", "/lib"},
{"/lib/libQtXml.so.4.5.0", "/lib"},
{"/lib/libQtCLucene.so.4.5.0", "/lib"},
{"/lib/libQtCore.so.4.5.0", "/lib"},
{"/lib/libQtDBus.so.4.5.0", "/lib"},
{"/lib/libQtXmlPatterns.so.4.5.0", "/lib"},
{"/lib/libQtHelp.so.4.5.0", "/lib"},
{"/lib/libQtSql.so.4.5.0", "/lib"},
{"/lib/libQtNetwork.so.4.5.0", "/lib"},
{"/lib/libQtOpenGL.so.4.5.0", "/lib"},
{"/lib/libQt3Support.so.4.5.0", "/lib"},
{"/lib/libQtAssistantClient.so.4.5.0", "/lib"},
{"/lib/libQtWebKit.so.4.5.0", "/lib"},
{"/demos/spreadsheet/spreadsheet", "/demos/spreadsheet"},
{"/demos/composition/composition", "/demos/composition"},
{"/demos/gradients/gradients", "/demos/gradients"},
{"/demos/deform/deform", "/demos/deform"},
{"/demos/embeddeddialogs/embeddeddialogs", "/demos/embeddeddialogs"},
{"/demos/textedit/textedit", "/demos/textedit"},
{"/demos/browser/browser", "/demos/browser"},
{"/demos/interview/interview", "/demos/interview"},
{"/demos/affine/affine", "/demos/affine"},
{"/demos/books/books", "/demos/books"},
{"/demos/chip/chip", "/demos/chip"},
{"/demos/pathstroke/pathstroke", "/demos/pathstroke"},
{"/demos/undo/undo", "/demos/undo"},
{"/demos/sqlbrowser/sqlbrowser", "/demos/sqlbrowser"},
{"/demos/mainwindow/mainwindow", "/demos/mainwindow"},
{"/bin/qcollectiongenerator", "/bin"},
{"/bin/qhelpconverter", "/bin"},
{"/bin/lupdate", "/bin"},
{"/bin/moc", "/bin"},
{"/bin/pixeltool", "/bin"},
{"/bin/qdbusviewer", "/bin"},
{"/bin/qtconfig", "/bin"},
{"/bin/qdbusxml2cpp", "/bin"},
{"/bin/qdbus", "/bin"},
{"/bin/uic3", "/bin"},
{"/bin/qhelpgenerator", "/bin"},
{"/bin/qt3to4", "/bin"},
{"/bin/xmlpatterns", "/bin"},
{"/bin/linguist", "/bin"},
{"/bin/uic", "/bin"},
{"/bin/qtdemo", "/bin"},
{"/bin/lrelease", "/bin"},
{"/bin/qmake", "/bin"},
{"/bin/assistant", "/bin"},
{"/bin/rcc", "/bin"},
{"/bin/designer", "/bin"},
{"/bin/assistant_adp", "/bin"},
{"/bin/qdbuscpp2xml", "/bin"},
{"/plugins/codecs/libqkrcodecs.so", "/src/plugins/codecs/kr"},
{"/plugins/codecs/libqtwcodecs.so", "/src/plugins/codecs/tw"},
{"/plugins/codecs/libqcncodecs.so", "/src/plugins/codecs/cn"},
{"/plugins/codecs/libqjpcodecs.so", "/src/plugins/codecs/jp"},
{"/plugins/iconengines/libqsvgicon.so", "/src/plugins/iconengines/svgiconengine"},
{"/plugins/sqldrivers/libqsqlmysql.so", "/src/plugins/sqldrivers/mysql"},
{"/plugins/sqldrivers/libqsqlite.so", "/src/plugins/sqldrivers/sqlite"},
{"/plugins/sqldrivers/libqsqlite2.so", "/src/plugins/sqldrivers/sqlite2"},
{"/plugins/sqldrivers/libqsqlpsql.so", "/src/plugins/sqldrivers/psql"},
{"/plugins/imageformats/libqgif.so", "/src/plugins/imageformats/gif"},
{"/plugins/imageformats/libqtiff.so", "/src/plugins/imageformats/tiff"},
{"/plugins/imageformats/libqsvg.so", "/src/plugins/imageformats/svg"},
{"/plugins/imageformats/libqjpeg.so", "/src/plugins/imageformats/jpeg"},
{"/plugins/imageformats/libqico.so", "/src/plugins/imageformats/ico"},
{"/plugins/imageformats/libqmng.so", "/src/plugins/imageformats/mng"},
{"/plugins/accessible/libqtaccessiblewidgets.so", "/src/plugins/accessible/widgets"},
{"/plugins/accessible/libqtaccessiblecompatwidgets.so", "/src/plugins/accessible/compat"},
{"/plugins/designer/libcontainerextension.so", "/examples/designer/containerextension"},
{"/plugins/designer/libtaskmenuextension.so", "/examples/designer/taskmenuextension"},
{"/plugins/designer/libqwebview.so", "/tools/designer/src/plugins/qwebview"},
{"/plugins/designer/libcustomwidgetplugin.so", "/examples/designer/customwidgetplugin"},
{"/plugins/designer/libarthurplugin.so", "/demos/arthurplugin"},
{"/plugins/designer/libarthurplugin.so", "/demos/shared"},
{"/plugins/designer/libqt3supportwidgets.so", "/tools/designer/src/plugins/widgets"},
{"/plugins/designer/libworldtimeclockplugin.so", "/examples/designer/worldtimeclockplugin"},
{"/plugins/inputmethods/libqimsw-multi.so", "/src/plugins/inputmethods/imsw-multi"},
{"/plugins/script/libqtscriptdbus.so", "/src/plugins/script/qtdbus"},
{"/examples/dbus/chat/dbus-chat", "/examples/dbus/dbus-chat"},
{"/examples/designer/worldtimeclockbuilder/worldtimeclockbuilder", "/tools/designer/src/uitools"},
{"/examples/designer/calculatorbuilder/calculatorbuilder", "/tools/designer/src/uitools"},
{"/examples/tools/plugandpaint/plugins/libpnp_extrafilters.so", "/examples/tools/plugandpaintplugins/extrafilters"},
{"/examples/tools/styleplugin/styles/libsimplestyleplugin.so", "/examples/tools/styleplugin/plugin"},
{"/examples/network/chat/network-chat", "/examples/network/network-chat"},
{"/examples/uitools/textfinder/textfinder", "/tools/designer/src/uitools"},
{"/examples/script/calculator/calculator", "/tools/designer/src/uitools"},
{"/examples/script/tetrix/tetrix", "/tools/designer/src/uitools"},
{"/lib/libQtTest.so.4.5.0", "/src/testlib"},
{"/lib/libQtDesignerComponents.so.4.5.0", "/tools/designer/src/components"},
{"/lib/libQtScript.so.4.5.0", "/src/script"},
{"/lib/libQtScriptTools.so.4.5.0", "/src/scripttools"},
{"/lib/libQtDesigner.so.4.5.0", "/tools/designer/src/lib"},
{"/lib/libQtGui.so.4.5.0", "/src/gui"},
{"/lib/libQtSvg.so.4.5.0", "/src/svg"},
{"/lib/libQtXml.so.4.5.0", "/src/xml"},
{"/lib/libQtCLucene.so.4.5.0", "/tools/assistant/lib/fulltextsearch"},
{"/lib/libQtCore.so.4.5.0", "/src/corelib"},
{"/lib/libQtDBus.so.4.5.0", "/src/dbus"},
{"/lib/libQtXmlPatterns.so.4.5.0", "/src/xmlpatterns"},
{"/lib/libQtHelp.so.4.5.0", "/tools/assistant/lib"},
{"/lib/libQtSql.so.4.5.0", "/src/sql"},
{"/lib/libQtNetwork.so.4.5.0", "/src/network"},
{"/lib/libQtOpenGL.so.4.5.0", "/src/opengl"},
{"/lib/libQt3Support.so.4.5.0", "/src/qt3support"},
{"/lib/libQtAssistantClient.so.4.5.0", "/tools/assistant/compat/lib"},
{"/lib/libQtWebKit.so.4.5.0", "/src/3rdparty/webkit/WebCore"},
{"/demos/composition/composition", "/demos/shared"},
{"/demos/gradients/gradients", "/demos/shared"},
{"/demos/deform/deform", "/demos/shared"},
{"/demos/browser/browser", "/tools/designer/src/uitools"},
{"/demos/affine/affine", "/demos/shared"},
{"/demos/pathstroke/pathstroke", "/demos/shared"},
{"/bin/qcollectiongenerator", "/tools/assistant/tools/qcollectiongenerator"},
{"/bin/qhelpconverter", "/tools/assistant/tools/qhelpconverter"},
{"/bin/lupdate", "/tools/linguist/lupdate"},
{"/bin/moc", "/src/tools/moc"},
{"/bin/pixeltool", "/tools/pixeltool"},
{"/bin/qdbusviewer", "/tools/qdbus/qdbusviewer"},
{"/bin/qtconfig", "/tools/qtconfig"},
{"/bin/qdbusxml2cpp", "/tools/qdbus/qdbusxml2cpp"},
{"/bin/qdbus", "/tools/qdbus/qdbus"},
{"/bin/uic3", "/src/tools/uic3"},
{"/bin/qhelpgenerator", "/tools/assistant/tools/qhelpgenerator"},
{"/bin/qt3to4", "/tools/porting/src"},
{"/bin/xmlpatterns", "/tools/xmlpatterns"},
{"/bin/linguist", "/tools/designer/src/uitools"},
{"/bin/linguist", "/tools/linguist/linguist"},
{"/bin/uic", "/src/tools/uic"},
{"/bin/qtdemo", "/demos/qtdemo"},
{"/bin/lrelease", "/tools/linguist/lrelease"},
{"/bin/qmake", "/qmake"},
{"/bin/assistant", "/tools/assistant/tools/assistant"},
{"/bin/rcc", "/src/tools/rcc"},
{"/bin/designer", "/tools/designer/src/designer"},
{"/bin/assistant_adp", "/tools/assistant/compat"},
{"/bin/qdbuscpp2xml", "/tools/qdbus/qdbuscpp2xml"}
{ "/bin/assistant" },
{ "/bin/assistant_adp" },
{ "/bin/designer" },
{ "/bin/linguist" },
{ "/bin/lrelease" },
{ "/bin/lupdate" },
{ "/bin/moc" },
{ "/bin/pixeltool" },
{ "/bin/qcollectiongenerator" },
{ "/bin/qdbus" },
{ "/bin/qdbuscpp2xml" }
{ "/bin/qdbuscpp2xml" },
{ "/bin/qdbusviewer" },
{ "/bin/qdbusxml2cpp" },
{ "/bin/qhelpconverter" },
{ "/bin/qhelpgenerator" },
{ "/bin/qmake" },
{ "/bin/qt3to4" },
{ "/bin/qtconfig" },
{ "/bin/qtdemo" },
{ "/bin/rcc" },
{ "/bin/uic" },
{ "/bin/uic3" },
{ "/bin/xmlpatterns" },
{ "/demos/affine/affine" },
{ "/demos/books/books" },
{ "/demos/browser/browser" },
{ "/demos/chip/chip" },
{ "/demos/composition/composition" },
{ "/demos/deform/deform" },
{ "/demos/embeddeddialogs/embeddeddialogs" },
{ "/demos/gradients/gradients" },
{ "/demos/interview/interview" },
{ "/demos/mainwindow/mainwindow" },
{ "/demos/pathstroke/pathstroke" },
{ "/demos/shared/libdemo_shared.a" },
{ "/demos/spreadsheet/spreadsheet" },
{ "/demos/sqlbrowser/sqlbrowser" },
{ "/demos/textedit/textedit" },
{ "/demos/undo/undo" },
{ "/examples/assistant/simpletextviewer/simpletextviewer" },
{ "/examples/dbus/chat/dbus-chat" },
{ "/examples/dbus/complexpingpong/complexping" },
{ "/examples/dbus/complexpingpong/complexpong" },
{ "/examples/dbus/listnames/listnames" },
{ "/examples/dbus/pingpong/ping" },
{ "/examples/dbus/pingpong/pong" },
{ "/examples/dbus/remotecontrolledcar/car/car" },
{ "/examples/dbus/remotecontrolledcar/controller/controller" },
{ "/examples/designer/calculatorbuilder/calculatorbuilder" },
{ "/examples/designer/calculatorform/calculatorform" },
{ "/examples/designer/worldtimeclockbuilder/worldtimeclockbuilder" },
{ "/examples/desktop/screenshot/screenshot" },
{ "/examples/desktop/systray/systray" },
{ "/examples/dialogs/classwizard/classwizard" },
{ "/examples/dialogs/configdialog/configdialog" },
{ "/examples/dialogs/extension/extension" },
{ "/examples/dialogs/findfiles/findfiles" },
{ "/examples/dialogs/licensewizard/licensewizard" },
{ "/examples/dialogs/standarddialogs/standarddialogs" },
{ "/examples/dialogs/tabdialog/tabdialog" },
{ "/examples/dialogs/trivialwizard/trivialwizard" },
{ "/examples/draganddrop/draggableicons/draggableicons" },
{ "/examples/draganddrop/draggabletext/draggabletext" },
{ "/examples/draganddrop/dropsite/dropsite" },
{ "/examples/draganddrop/fridgemagnets/fridgemagnets" },
{ "/examples/draganddrop/puzzle/puzzle" },
{ "/examples/graphicsview/collidingmice/collidingmice" },
{ "/examples/graphicsview/diagramscene/diagramscene" },
{ "/examples/graphicsview/dragdroprobot/dragdroprobot" },
{ "/examples/graphicsview/elasticnodes/elasticnodes" },
{ "/examples/graphicsview/padnavigator/padnavigator" },
{ "/examples/graphicsview/portedasteroids/portedasteroids" },
{ "/examples/graphicsview/portedcanvas/portedcanvas" },
{ "/examples/help/contextsensitivehelp/contextsensitivehelp" },
{ "/examples/help/remotecontrol/remotecontrol" },
{ "/examples/help/simpletextviewer/simpletextviewer" },
{ "/examples/ipc/localfortuneclient/localfortuneclient" },
{ "/examples/ipc/localfortuneserver/localfortuneserver" },
{ "/examples/ipc/sharedmemory/sharedmemory" },
{ "/examples/itemviews/addressbook/addressbook" },
{ "/examples/itemviews/basicsortfiltermodel/basicsortfiltermodel" },
{ "/examples/itemviews/chart/chart" },
{ "/examples/itemviews/coloreditorfactory/coloreditorfactory" },
{ "/examples/itemviews/customsortfiltermodel/customsortfiltermodel" },
{ "/examples/itemviews/dirview/dirview" },
{ "/examples/itemviews/editabletreemodel/editabletreemodel" },
{ "/examples/itemviews/pixelator/pixelator" },
{ "/examples/itemviews/puzzle/puzzle" },
{ "/examples/itemviews/simpledommodel/simpledommodel" },
{ "/examples/itemviews/simpletreemodel/simpletreemodel" },
{ "/examples/itemviews/simplewidgetmapper/simplewidgetmapper" },
{ "/examples/itemviews/spinboxdelegate/spinboxdelegate" },
{ "/examples/itemviews/stardelegate/stardelegate" },
{ "/examples/layouts/basiclayouts/basiclayouts" },
{ "/examples/layouts/borderlayout/borderlayout" },
{ "/examples/layouts/dynamiclayouts/dynamiclayouts" },
{ "/examples/layouts/flowlayout/flowlayout" },
{ "/examples/linguist/arrowpad/arrowpad" },
{ "/examples/linguist/hellotr/hellotr" },
{ "/examples/linguist/trollprint/trollprint" },
{ "/examples/mainwindows/application/application" },
{ "/examples/mainwindows/dockwidgets/dockwidgets" },
{ "/examples/mainwindows/mdi/mdi" },
{ "/examples/mainwindows/menus/menus" },