Notice that whereas JString had a const char* operator for automatic or forced conversion, Firebird::string doesn't have one. Worse, the layout of FBString has a static buffer of size 32 but can allocate a dynamic buffer for larger requirements and therefore, casting FBString to char* or const char* will most likely produce wrong behavior or crash. Thereforer, I removed the places with such explicit cast. Alex, please watch if there are more problems of this type in IntlManager.cpp, the "config" dir or the "vulcan" dir.
2.- Cleanup.
3.- Put enumerations and plain structures in their due classes, checked constness, commented or deleted unused crap (watch stupid macros in header files that pollute all the files where such headers are included), etc.
There's a lot of pending work to do. Still trying to convert to decent C++ this barbarian code probably written by Genghis Khan or Attila the Hun.
2.- Cleanup.
3.- Put a compilation warning on DirectoryList::matchFileName because the function's purpose only can be guessed: it returns true unconditionally. Maybe it was expected to tell us if a file name matched a directory name or querying the operating system to know whether the file existed inside the given directory name. Anyway, since it does nothing useful, DirectoryList::validateFilename is suspicious, too, since it uses the former in a loop.