fanf2 2005/09/15 10:15:26 BST
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src exim_dbutil.c
Log:
Fix the ratelimit support in exim_fixdb. Patch provided by
Brian Candler <B.Candler@???>.
Revision Changes Path
1.232 +3 -0 exim/exim-doc/doc-txt/ChangeLog
1.8 +6 -4 exim/exim-src/src/exim_dbutil.c
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.231
retrieving revision 1.232
diff -u -u -r1.231 -r1.232
--- ChangeLog 13 Sep 2005 18:06:30 -0000 1.231
+++ ChangeLog 15 Sep 2005 09:15:26 -0000 1.232
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.231 2005/09/13 18:06:30 fanf2 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.232 2005/09/15 09:15:26 fanf2 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -192,6 +192,9 @@
TF/03 Minor fix to the ratelimit code to improve its behaviour in case the
clock is set back in time.
+
+TF/04 Fix the ratelimit support in exim_fixdb. Patch provided by Brian
+ Candler <B.Candler@???>.
Exim version 4.52
Index: exim_dbutil.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/exim_dbutil.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -u -r1.7 -r1.8
--- exim_dbutil.c 27 Jun 2005 14:29:43 -0000 1.7
+++ exim_dbutil.c 15 Sep 2005 09:15:26 -0000 1.8
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/exim_dbutil.c,v 1.7 2005/06/27 14:29:43 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/exim_dbutil.c,v 1.8 2005/09/15 09:15:26 fanf2 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -767,8 +767,8 @@
/* If the buffer contains just one digit, or just consists of "d", use the
previous name for an update. */
- if ((isdigit((uschar)buffer[0]) && !isdigit((uschar)buffer[1])) ||
- Ustrcmp(buffer, "d") == 0)
+ if ((isdigit((uschar)buffer[0]) && (buffer[1] == ' ' || buffer[1] == '\0')
+ || Ustrcmp(buffer, "d") == 0)
{
if (name[0] == 0)
{
@@ -894,7 +894,8 @@
break;
case type_ratelimit:
- ratelimit = (dbdata_ratelimit *)value;
+ ratelimit = (dbdata_ratelimit *)record;
+ length = sizeof(dbdata_ratelimit);
switch(fieldno)
{
case 0:
@@ -904,6 +905,7 @@
case 1:
ratelimit->time_usec = Uatoi(value);
+ break;
case 2:
ratelimit->rate = Ustrtod(value, NULL);
@@ -1014,7 +1016,7 @@
break;
case type_ratelimit:
- ratelimit = (dbdata_ratelimit *)value;
+ ratelimit = (dbdata_ratelimit *)record;
printf("0 time stamp: %s\n", print_time(ratelimit->time_stamp));
printf("1 fract. time: .%06d\n", ratelimit->time_usec);
printf("2 sender rate: % .3f\n", ratelimit->rate);