<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to patches</title><link>https://sourceforge.net/p/althea/patches/</link><description>Recent changes to patches</description><atom:link href="https://sourceforge.net/p/althea/patches/feed.rss" rel="self"/><language>en</language><lastBuildDate>Wed, 06 Apr 2005 12:52:08 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/althea/patches/feed.rss" rel="self" type="application/rss+xml"/><item><title>Header file includes, namespace, gettext fix</title><link>https://sourceforge.net/p/althea/patches/29/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Patch is againts CVS. Fixes include:&lt;/p&gt;
&lt;p&gt;Linking againts libintl for gettext that the new GTK+&lt;br /&gt;
version use.&lt;/p&gt;
&lt;p&gt;Some std:: namespaces have been fixed. This previously&lt;br /&gt;
did not allow complete compilation.&lt;/p&gt;
&lt;p&gt;Includes have been converted to the new C++ standard of&lt;br /&gt;
&amp;lt;filename&amp;gt; rather than &amp;lt;filename.h&amp;gt;.&lt;/p&gt;
&lt;p&gt;Roopinder.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">pinder</dc:creator><pubDate>Wed, 06 Apr 2005 12:52:08 -0000</pubDate><guid>https://sourceforge.net9b8fc2084d30acb4ff7a0480c543c1240d2649f0</guid></item><item><title>Fix CXXFLAGS in Makefile</title><link>https://sourceforge.net/p/althea/patches/28/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Makefile-12.patch&lt;br /&gt;
Submitted by Steven Augart &amp;amp;lt;saugart at users dot&lt;br /&gt;
sourceforge dot net&amp;amp;gt;&lt;/p&gt;
&lt;p&gt;Apply this in the root Althea source directory with:&lt;br /&gt;
patch -p1 &amp;amp;lt; Makefile-clean-target-11.patch&lt;/p&gt;
&lt;p&gt;This patch fixes some minor glitches where I'd confused&lt;br /&gt;
CPPFLAGS with CXXFLAGS.  These would not have affected&lt;br /&gt;
compilation,&lt;br /&gt;
but do make the Makefile more consistent.&lt;/p&gt;
&lt;p&gt;Added -fimplicit-templates to CXXFLAGS.  This helps&lt;br /&gt;
call attention to&lt;br /&gt;
Althea's template instantiation model.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Augart</dc:creator><pubDate>Fri, 01 Mar 2002 22:20:43 -0000</pubDate><guid>https://sourceforge.net3f85a64ae4be434c78238bf5347a16379a4436bf</guid></item><item><title>make clean should clean up dependencies</title><link>https://sourceforge.net/p/althea/patches/27/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This one-line patch adds the dependencies files (*.d) to &lt;br /&gt;
the Makefile's `clean' target.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Augart</dc:creator><pubDate>Thu, 28 Feb 2002 07:15:50 -0000</pubDate><guid>https://sourceforge.netdb1a466cd32912c4d6057e8ee442253d0738fe87</guid></item><item><title>Automatic Makefile dependencies</title><link>https://sourceforge.net/p/althea/patches/26/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Submitted by Steven Augart &amp;amp;lt;saugart at users dot&lt;br /&gt;
sourceforge dot net&amp;amp;gt;&lt;/p&gt;
&lt;p&gt;Apply this in the root Althea source directory with:&lt;br /&gt;
patch -p1 &amp;amp;lt;&lt;br /&gt;
automatic-Makefile-dependencies-10.patch&lt;/p&gt;
&lt;p&gt;This patch solves a problem I encountered during&lt;br /&gt;
development&lt;br /&gt;
where out-of-date-dependencies led to an inconsistent&lt;br /&gt;
build and&lt;br /&gt;
a subsequent weird Althea crash. &lt;/p&gt;
&lt;p&gt;Details:&lt;/p&gt;
&lt;p&gt;*The Makefile automatically generates and updates&lt;br /&gt;
dependencies.  It&lt;br /&gt;
does this by creating a batch of files suffixed .d, one&lt;br /&gt;
for each&lt;br /&gt;
source file.  Got rid of the old and inadequate&lt;br /&gt;
hardcoded&lt;br /&gt;
dependencies.&lt;/p&gt;
&lt;p&gt;*Now use standard names (e.g., CXXFLAGS instead of&lt;br /&gt;
CFLAGS) which&lt;br /&gt;
cuts out about 2K from the makefile, despite the new&lt;br /&gt;
targets.&lt;/p&gt;
&lt;p&gt;* The necessary -ftemplate-depth-30 flag is no longer&lt;br /&gt;
misleadingly stuck&lt;br /&gt;
into DEBUGFLAGS&lt;/p&gt;
&lt;p&gt;*Makefile now has configuration options at the start of&lt;br /&gt;
the Makefile.&lt;/p&gt;
&lt;p&gt;*The Makefile now uses the GNU project's recommended&lt;br /&gt;
names for&lt;br /&gt;
various directories (e.g., $(bindir) instead of&lt;br /&gt;
$(DESTDIR}).&lt;br /&gt;
This helps for future compatibility with Autoconf.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Augart</dc:creator><pubDate>Tue, 26 Feb 2002 01:46:05 -0000</pubDate><guid>https://sourceforge.net7504475f22d2c82501bd2a8e8ceb3261075db126</guid></item><item><title>Fix constructors.</title><link>https://sourceforge.net/p/althea/patches/25/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Patch: fix-constructors-8a.patch&lt;/p&gt;
&lt;p&gt;This patch fixes bugs in various constructors.  It also&lt;br /&gt;
defines an&lt;br /&gt;
explicit constructor and an explicit virtual destructor&lt;br /&gt;
for every&lt;br /&gt;
class.&lt;/p&gt;
&lt;p&gt;This text looks prettier if you read it under Emacs&lt;br /&gt;
with M-x outline-mode.&lt;/p&gt;
&lt;p&gt;*All of the constructors and destructors are now&lt;br /&gt;
defined in the&lt;br /&gt;
appropriate &amp;amp;lt;class&amp;amp;gt;.cpp file, instead of being inline&lt;br /&gt;
in the &amp;amp;lt;class&amp;amp;gt;.h&lt;br /&gt;
file.  This reduces the size of the executable;&lt;br /&gt;
otherwise they get &lt;br /&gt;
redundantly instantiated in every source file they're&lt;br /&gt;
used in.&lt;/p&gt;
&lt;p&gt;*All classes now have virtual destructors.  This is&lt;br /&gt;
needed so that&lt;br /&gt;
destructors on polymorphic subclassed objects will work&lt;br /&gt;
properly&lt;br /&gt;
even when they're being referred to by a pointer to&lt;br /&gt;
objects of an&lt;br /&gt;
ancestral type. &lt;/p&gt;
&lt;p&gt;*Bugs fixed in various constructors:&lt;br /&gt;
**class Althea: Needed a constructor to zero-initialize&lt;br /&gt;
some members.&lt;br /&gt;
This never showed up because the only instances of&lt;br /&gt;
objects of the&lt;br /&gt;
Althea class are both global variables, and with&lt;br /&gt;
globals, their memory&lt;br /&gt;
starts off automatically zeroed at program load time.&lt;br /&gt;
The result of *that* is that if someone ever *were* to&lt;br /&gt;
instantiate an object&lt;br /&gt;
of class Althea on the stack or via the memory manager,&lt;br /&gt;
the bug would&lt;br /&gt;
only appear then.&lt;/p&gt;
&lt;p&gt;*Some classes had constructors that would have worked&lt;br /&gt;
in Java,&lt;br /&gt;
but sneakily fail in C++.  I fixed them.&lt;/p&gt;
&lt;p&gt;For example, the no-arg constructor:&lt;br /&gt;
Folder::Folder() {&lt;br /&gt;
Folder(&amp;amp;quot;New Folder&amp;amp;quot;);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;did not initialize the new folder object's folder name.&lt;br /&gt;
Instead, it&lt;br /&gt;
invoked the constructor Folder(string), which then in&lt;br /&gt;
turn instantiated a&lt;br /&gt;
new Folder with its title set to &amp;amp;quot;New Folder&amp;amp;quot;, and then&lt;br /&gt;
immediately&lt;br /&gt;
destroyed that new Folder!&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;The classes Server and Folder had this bug.&lt;/p&gt;
&lt;p&gt;*Old Folder constructor did not initialize server_ptr.&lt;br /&gt;
Lurking bug. Fixed.&lt;/p&gt;
&lt;p&gt;*strings are initialized to &amp;amp;quot;&amp;amp;quot; by default&lt;br /&gt;
so no need to do it again in a constructor.  I've&lt;br /&gt;
excised such&lt;br /&gt;
initializations from the constructor code.&lt;/p&gt;
&lt;p&gt;*Redundant code consolidated.&lt;br /&gt;
Some classes (such as Folder or Server) with more than&lt;br /&gt;
one constructor&lt;br /&gt;
now have each constructor call a single central&lt;br /&gt;
initialize() function.&lt;br /&gt;
This removed code duplication.&lt;/p&gt;
&lt;p&gt;*All classes now have constructors and destructors.&lt;br /&gt;
Some of these are empty in the patches I'm submitting&lt;br /&gt;
here.  They are important in my own work, though.  In&lt;br /&gt;
*my* working tree, they&lt;br /&gt;
initialize some #ifndef NDEBUG internal consistency&lt;br /&gt;
checks (assertions&lt;br /&gt;
and the like) that I've already used in my own Althea&lt;br /&gt;
sources to&lt;br /&gt;
catch bad-pointer bugs quickly.&lt;/p&gt;
&lt;p&gt;I do not plan to send patches for those consistency&lt;br /&gt;
checks unless one&lt;br /&gt;
of the core developers actually cares about it and&lt;br /&gt;
understands why&lt;br /&gt;
this is a good thing to have.  The idea is well&lt;br /&gt;
discussed in Kernighan&lt;br /&gt;
and Pike's ``The Practice of Programming'' and in Steve&lt;br /&gt;
McConnell's&lt;br /&gt;
``Writing Solid Code''&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Augart</dc:creator><pubDate>Sat, 16 Feb 2002 04:56:49 -0000</pubDate><guid>https://sourceforge.net06084889a2d40a1483eb4ba7ee6eee1856e09a46</guid></item><item><title>Makefile: Better TAGS output for C++</title><link>https://sourceforge.net/p/althea/patches/24/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This one-line change to the Makefile makes the TAGS&lt;br /&gt;
output more useful.&lt;/p&gt;
&lt;p&gt;Specifically, it tells etags that Althea's .h files are&lt;br /&gt;
C++ source, not C source.  etags also now adds&lt;br /&gt;
information about member functions to the TAGS file.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Augart</dc:creator><pubDate>Fri, 15 Feb 2002 23:08:16 -0000</pubDate><guid>https://sourceforge.net7540c574dee41136b9aec32362085fc13aacf208</guid></item><item><title>Fix crash in on_check_mail_menu_activate</title><link>https://sourceforge.net/p/althea/patches/23/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Brief summary: Modifies on_check_mail_menu_activate()&lt;br /&gt;
in callbacks.cpp: &lt;/p&gt;
&lt;p&gt;This describes modifications to the function&lt;br /&gt;
on_check_mail_menu_activate().  It fixes a crash that&lt;br /&gt;
happens if we&lt;br /&gt;
have already failed to read a folder list from the&lt;br /&gt;
server.&lt;/p&gt;
&lt;p&gt;*Problems corrected: &lt;/p&gt;
&lt;p&gt;**We never checked whether the_server-&amp;amp;gt;get_Folder()&lt;br /&gt;
succeeded.&lt;br /&gt;
(If we fail to read the folder list from the server,&lt;br /&gt;
then that&lt;br /&gt;
call won't succeed, and havoc will result -- I should&lt;br /&gt;
know; this&lt;br /&gt;
happened to me!).&lt;/p&gt;
&lt;p&gt;**gAlthea.get_Current_Server() was being called after&lt;br /&gt;
we'd&lt;br /&gt;
already initialized the variable the_server with its&lt;br /&gt;
contents.  This in turn deceived the programmer into&lt;br /&gt;
writing some redundant code to handle the pointer&lt;br /&gt;
Ťthe_serverť being NULL. This redundant code was never&lt;br /&gt;
executed, since that check had already been performed.&lt;/p&gt;
&lt;p&gt;**We called the_server-&amp;amp;gt;get_Folder() before we had a&lt;br /&gt;
reservation for &lt;br /&gt;
the server.&lt;/p&gt;
&lt;p&gt;*Enhancement&lt;br /&gt;
When there is no server available (because none has&lt;br /&gt;
been set up yet),&lt;br /&gt;
on_check_mail_menu_activate will now give the better&lt;br /&gt;
error message:&lt;br /&gt;
&amp;amp;quot;Go to Althea ==&amp;amp;gt; Setup... and define a server.&amp;amp;quot;&lt;br /&gt;
instead of the confusing:&lt;br /&gt;
&amp;amp;quot;Select a server first.&amp;amp;quot;&lt;/p&gt;
&lt;p&gt;*Problems not corrected (yet?):&lt;br /&gt;
**The server reservation (6 lines) is code repeated in&lt;br /&gt;
a number of places;&lt;br /&gt;
should be consolidated into a method of the Server&lt;br /&gt;
class (something&lt;br /&gt;
like reserve_server_blocking().&lt;/p&gt;
&lt;p&gt;**There's a synchronization problem with the server&lt;br /&gt;
reservation code.&lt;br /&gt;
Only way to fix this is to go over to using a proper&lt;br /&gt;
Posix 1003.1c mutex.&lt;/p&gt;
&lt;p&gt;**Other places need checks for whether a current server&lt;br /&gt;
exists.&lt;br /&gt;
I made on_expunge_menu_activate() dump core.&lt;/p&gt;
&lt;p&gt;A couple of other functions do use assertions to&lt;br /&gt;
confirm that there's&lt;br /&gt;
a current server.  A step in the right direction, but&lt;br /&gt;
obviously a user&lt;br /&gt;
action should never trigger an assertion.&lt;/p&gt;
&lt;p&gt;It would be good to have this code modularized and put&lt;br /&gt;
it there.  The&lt;br /&gt;
right thing to do is have an&lt;br /&gt;
Althea::get_current_server_or_gripe()&lt;br /&gt;
method.&lt;/p&gt;
&lt;p&gt;*Future Enhancement:&lt;br /&gt;
**When &amp;amp;lt;Print&amp;amp;gt; is clicked, check for whether there's a&lt;br /&gt;
current message&lt;br /&gt;
before popping up the dialogue box, not after.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Augart</dc:creator><pubDate>Tue, 12 Feb 2002 21:05:26 -0000</pubDate><guid>https://sourceforge.netdf4f989122648b03939dabe23e2103f8b343b00f</guid></item><item><title>Misc Bug fixes (thank you, G++!)</title><link>https://sourceforge.net/p/althea/patches/22/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Summary: This patch contains fixes for the causes of&lt;br /&gt;
various warnings that were flagged by aggressive use of&lt;br /&gt;
the g++ warning options.  At least some of these&lt;br /&gt;
warnings pointed out cases in the code that would have&lt;br /&gt;
caused crashes or undesired behavior.&lt;/p&gt;
&lt;p&gt;Also includes additional conversions from using&lt;br /&gt;
integer error codes &lt;br /&gt;
to using the Ťenum errorsť error codes.  Revised the&lt;br /&gt;
error code&lt;br /&gt;
system to use the predicates isSuccess() and&lt;br /&gt;
isFailure().&lt;/p&gt;
&lt;p&gt;Unpatcking instructions included in the patch.&lt;/p&gt;
&lt;p&gt;Long Description (this is identical to the contents of&lt;br /&gt;
the .msg-2 files):&lt;/p&gt;
&lt;p&gt;MIME.cpp: Converted more code to use enum errors.&lt;br /&gt;
Added comments.&lt;br /&gt;
Commented out unused code.&lt;br /&gt;
Revised decode64() to be more robust: (a) added&lt;br /&gt;
assertions. &lt;br /&gt;
(b) added comments &lt;br /&gt;
(c) moved variables from function-scope into the&lt;br /&gt;
innermost&lt;br /&gt;
appropriate block.&lt;/p&gt;
&lt;p&gt;MIME.h: Match changes in MIME.cpp&lt;/p&gt;
&lt;p&gt;callbacks.cpp: Added error checking to the call to&lt;br /&gt;
decode64.&lt;br /&gt;
Improved error messages by calls to the new&lt;br /&gt;
error_sprintf() function.&lt;/p&gt;
&lt;p&gt;errors.cpp: Renamed Fail() and Success() to isFailure()&lt;br /&gt;
and&lt;br /&gt;
isSuccess(), so that it's clearer to the reader that&lt;br /&gt;
they're boolean&lt;br /&gt;
tests.&lt;/p&gt;
&lt;p&gt;errors.h: Match changes made to internal_error.cpp and&lt;br /&gt;
errors.cpp&lt;/p&gt;
&lt;p&gt;internal_error.cpp: Renamed internal_error(const char&lt;br /&gt;
[], ...) to &lt;br /&gt;
internal_error_sprintf().  This fixes a link-time&lt;br /&gt;
conflict between&lt;br /&gt;
that function and internal_error(const char[]); the&lt;br /&gt;
signatures were&lt;br /&gt;
too close for the compiler to distinguish.&lt;/p&gt;
&lt;p&gt;Also fixed bug in use of va_end() in&lt;br /&gt;
internal_error_sprintf().  This&lt;br /&gt;
would not have shown up except on certain odd&lt;br /&gt;
platforms; va_end() is&lt;br /&gt;
usually a no-op.&lt;/p&gt;
&lt;p&gt;tcpUtilities.cpp:  Added assertions and calls to&lt;br /&gt;
internal_error() to&lt;br /&gt;
confirm that Althea doesn't try to use SSL without&lt;br /&gt;
having SSL&lt;br /&gt;
compiled in.  Like the standard assert() macro, these&lt;br /&gt;
are disabled &lt;br /&gt;
by compiling code with -DNDEBUG.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Modified ReadFromSocket() to clear up a&lt;br /&gt;
possibly-used-without-set warning.&lt;br /&gt;
Added comments.&lt;/p&gt;
&lt;p&gt;SelectFolder.cpp: More use of enum errors instead of&lt;br /&gt;
int error codes.&lt;br /&gt;
Use assertions to catch any cases of what the&lt;br /&gt;
compiler warned of as&lt;br /&gt;
a possibly-used-before-set bug, &lt;/p&gt;
&lt;p&gt;SelectFolder.h: Change function prototypes to reflect &lt;br /&gt;
changes to SelectFolder.cpp.&lt;/p&gt;
&lt;p&gt;Server.cpp:  Used #if 0 to comment out incomplete code&lt;br /&gt;
that is never&lt;br /&gt;
used.  (The incomplete code justifiably triggers&lt;br /&gt;
compiler warnings.)&lt;/p&gt;
&lt;p&gt;load_config.cpp:  Used #if 0 to comment out unused&lt;br /&gt;
code.&lt;/p&gt;
&lt;p&gt;load_config.h: #if 0 to comment out unused function&lt;br /&gt;
declaration.&lt;/p&gt;
&lt;p&gt;Makefile: Added a useful development target to the&lt;br /&gt;
Makefile,&lt;br /&gt;
.cpp.i.  This lets us generate .i files containing&lt;br /&gt;
preprocessed versions of the source.&lt;/p&gt;
&lt;p&gt;support.cpp: New function, error_sprintf().  Formats an&lt;br /&gt;
error message&lt;br /&gt;
and then displays it by calling the existing error()&lt;br /&gt;
function.&lt;/p&gt;
&lt;p&gt;support.h: Added prototype to match addition of&lt;br /&gt;
error_sprintf() to support.cpp.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Augart</dc:creator><pubDate>Tue, 12 Feb 2002 07:44:23 -0000</pubDate><guid>https://sourceforge.net122d3860a3b92fbe433472d7c564d5beb8de7023</guid></item><item><title>More error handling</title><link>https://sourceforge.net/p/althea/patches/21/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Summary: &lt;br /&gt;
This patch adds error handling and debugging&lt;br /&gt;
routines that are useful &lt;br /&gt;
for general robustness.&lt;/p&gt;
&lt;p&gt;To unpack: &lt;br /&gt;
patch --directory=${althea_source_root} --unified&lt;br /&gt;
--forward --strip=1 --backup --ignore-whitespace&lt;br /&gt;
more-error-handling.patch&lt;/p&gt;
&lt;p&gt;Description:&lt;br /&gt;
This patch adds error handling and debugging routines&lt;br /&gt;
that are useful &lt;br /&gt;
for general robustness.&lt;/p&gt;
&lt;p&gt;I have included files ending in .msg, for each changed&lt;br /&gt;
source file.  These are intended for the CVS log.  You&lt;br /&gt;
can delete them&lt;br /&gt;
afterwards.  Thus, you can commit the changed version&lt;br /&gt;
of errors.h with:&lt;br /&gt;
cvs commit -F errors.h.msg errors.h &amp;amp;amp;&amp;amp;amp; rm errors.h.msg&lt;/p&gt;
&lt;p&gt;internal_error.cpp: Add routines to handle internal&lt;br /&gt;
errors.&lt;br /&gt;
The internal_error() functions are for Ťcan't&lt;br /&gt;
happenť conditions.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;errors.cpp: Adds functions named Success() and Fail(),&lt;br /&gt;
for testing&lt;br /&gt;
Ťenum errorsť error codes.  This abstracts various&lt;br /&gt;
ad_hoc tests&lt;br /&gt;
such as: (error_code &amp;amp;lt; BEG_FAIL) or (error_code &amp;amp;lt;&lt;br /&gt;
END_SUCCESS)&lt;br /&gt;
(Both of these forms are currently found in the code!)&lt;/p&gt;
&lt;p&gt;errors.h: Added comments.&lt;br /&gt;
Added prototypes for new functions, Success(),&lt;br /&gt;
Fail(), and the &lt;br /&gt;
internal_error() family. &lt;/p&gt;
&lt;p&gt;A temporary hack called XXX_CAST_INT_TO_ENUM_ERRORS&lt;br /&gt;
is also&lt;br /&gt;
here.  The hack will go away once we've converted Althea&lt;br /&gt;
to handle all error codes as the Ťenum errorsť type&lt;br /&gt;
instead&lt;br /&gt;
of as the Ťintť type.&lt;/p&gt;
&lt;p&gt;Makefile: Added rules for errors.o and&lt;br /&gt;
internal_error.o.  Also&lt;br /&gt;
added a general CXXFLAGS definition, useful for implicit&lt;br /&gt;
.cpp ==&amp;amp;gt; .o rules.&lt;/p&gt;
&lt;p&gt;Makefile.debugging-warnings: &lt;br /&gt;
Added more comments.&lt;br /&gt;
Now turns on more warnings specific to the g++ compiler.&lt;br /&gt;
Now uses code generation options that may make it easier&lt;br /&gt;
to debug inline functions.&lt;/p&gt;
&lt;p&gt;Message.cpp:&lt;br /&gt;
Began the conversion from integer error return codes to&lt;br /&gt;
Ťenum errorsť error return codes.&lt;/p&gt;
&lt;p&gt;load_config.cpp:&lt;br /&gt;
Added some innocuous debugging code to help track&lt;br /&gt;
down a problem&lt;br /&gt;
that happens in the get_mail() function call while&lt;br /&gt;
load_Server() is running.&lt;/p&gt;
&lt;p&gt;support.cpp:&lt;br /&gt;
In error(), all error messages now go to standard&lt;br /&gt;
error as well&lt;br /&gt;
as to a pop-up window.  This is the case if &lt;br /&gt;
ALTHEA_DUMP_ERRORS_TO_STANDARD_ERR_TOO is defined. &lt;br /&gt;
This is part of an &lt;br /&gt;
attempt to track down a bug where the error windows&lt;br /&gt;
sometimes appear on&lt;br /&gt;
my display with no text (althea 0.5.7, gtk 1.2.10,&lt;br /&gt;
glibc 2.2.4,  and &lt;br /&gt;
GNU g++ and libstdc++ version 2.95.3).&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Augart</dc:creator><pubDate>Mon, 04 Feb 2002 23:17:54 -0000</pubDate><guid>https://sourceforge.netc14b3ebb427c6270cf108fe92f02fde0850f1b4f</guid></item><item><title>Makefile debugging warnings</title><link>https://sourceforge.net/p/althea/patches/20/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;*Creates a new file, Makefile.debugging-warnings.  By&lt;br /&gt;
uncommenting a&lt;br /&gt;
line in the master Makefile,&lt;br /&gt;
Makefile.debugging-warnings will be included&lt;br /&gt;
and a developer can use the warnings to check code.&lt;/p&gt;
&lt;p&gt;*This patch was made against a version of Makefile&lt;br /&gt;
to which previously submitted patches were applied.  It&lt;br /&gt;
is easy to adapt,&lt;br /&gt;
though, if those patches haven't been applied yet.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Augart</dc:creator><pubDate>Sat, 02 Feb 2002 09:22:00 -0000</pubDate><guid>https://sourceforge.net64f0775b9da09ac11ee493ae67511f6cec41a826</guid></item></channel></rss>