imapparse.c / getnum

Patrick Goetz pgoetz at mail.utexas.edu
Thu Jun 17 20:44:40 UTC 2010


On 06/16/2010 10:09 PM, Bron Gondwana wrote:
>
> I'm also replacing everywhere that we advance a character
> pointer through a string and do the same algorithm with
> parsenum in lib/util.c.  It will have the same logic.  No
> more MAXLITERAL.
>


The getnum code looks basically the same as the bit that used MAXLITERAL 
(with MAXLITERAL =~ INT_MAX/10 - 10).
Of course now the question is "why the minus 10?).

The patch you sent previously appears to be incompatible with the 2.3.16 
tree; for example, the 2.3.16 ~/lib/libconfig.h doesn't have the line
  extern int config_auditlog;

diff --git a/lib/libconfig.h b/lib/libconfig.h
index de40784..d70ce31 100644
--- a/lib/libconfig.h
+++ b/lib/libconfig.h
@@ -79,6 +79,7 @@ extern int config_implicitrights;
  extern enum enum_value config_virtdomains;
  extern enum enum_value config_mupdate_config;
  extern int config_auditlog;
+extern int config_maxliteral;


I didn't check beyond this, but we'll just go ahead and patch 
imapparse.c with the existing /20 --> /10 patch and wait for the next 
release to fix up the patch set.

I gave myself a headache trying to figure out how config_getenum() works 
and am probably going to work on something else for the rest of the day. 
  (Who says that perl is harder to maintain than C?  <:))

Thanks for working on this stuff and responding to my questions!














More information about the Pkg-Cyrus-imapd-Debian-devel mailing list