From: Warren Young Date: December 22 2006 7:31pm Subject: Re: A couple of patches List-Archive: http://lists.mysql.com/plusplus/6221 Message-Id: <458C327E.2070609@etr-usa.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Matt Dargavel wrote: > Hmm, I see- no patches on the delivered message for some reason. Yeah, they must be getting stripped. Another option you have besides attaching them is to add them to the patch tracker on gna.org: https://gna.org/bugs/?func=additem&group=mysqlpp As soon as you submit something there, I get an email, so you don't have to mention it on this list unless you want to spark public discussion. > + To get bakefile to create the makefiles necessary for each > + platform, simply run bakefile_gen in the project root. No, this isn't right. First off, bakefile_gen shouldn't ever be run directly. Use the rebake or bootstrap wrapper scripts instead. Second, documentation for things like bootstrap belongs in the HACKERS file, because only people working from svn ever see MySQL++ without any project or Makefiles present. The README is for the average end user who doesn't mess around with the MySQL++ build system, because the distribution packages come with the files they need already. The only time the average end user will ever care about the build system is if it breaks, in which case they either need to fix it -- and hence, read the HACKERS file first -- or submit an error report to the list to be handled by someone who has read the HACKERS file. What problem are you trying to solve here? Is it the "I just checked out from svn and it doesn't work" case? If so, that's handled by running the bootstrap script, which is already covered in the HACKERS file. > Query::Query(Connection* c, bool te) : > -#if defined(_MSC_VER) > -std::ostream(std::_Noinit), // prevents a double-init memory leak in RTL > -#else > -std::ostream(0), > -#endif > +std::ostream(&sbuffer_), > OptionalExceptions(te), > Lockable(false), > def(this), > @@ -42,7 +38,6 @@ > conn_(c), > success_(false) > { > - init(&sbuffer_); I thought we shot this one down because it's technically illegal in C++. It's not guaranteed that sbuffer_ is initialized before the base class ctors are called. It may work on current compilers, but what about the future? Yes, the current code is ugly. But it's legal, and we know why it works and thus why it should continue to work.