From 9a799bc0748201e80ca3b4f7ffaaa588315626b7 Mon Sep 17 00:00:00 2001 From: Philip Hazel Date: Wed, 28 Sep 2005 10:46:48 +0000 Subject: [PATCH] Make ${base62d: adjust for BASE_62, as ${base62: does. --- doc/doc-txt/ChangeLog | 10 +++++++++- src/src/expand.c | 9 ++++++--- src/src/globals.c | 8 +++++++- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index a77a223a4..5c39af711 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -1,8 +1,16 @@ -$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.240 2005/09/26 09:52:18 ph10 Exp $ +$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.241 2005/09/28 10:46:48 ph10 Exp $ Change log file for Exim from version 4.21 ------------------------------------------- +Exim version 4.54 +----------------- + +PH/01 The ${base62: operator adjusted itself to base 36 when BASE_62 was + set to 36 (for Darwin and Cygwin), but the ${base62d: operator did not. + It now does. + + Exim version 4.53 ----------------- diff --git a/src/src/expand.c b/src/src/expand.c index aa1398e8a..739f5e854 100644 --- a/src/src/expand.c +++ b/src/src/expand.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/expand.c,v 1.42 2005/09/13 11:13:27 ph10 Exp $ */ +/* $Cambridge: exim/src/src/expand.c,v 1.43 2005/09/28 10:46:48 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -4358,6 +4358,8 @@ while (*s != 0) continue; } + /* Note that for Darwin and Cygwin, BASE_62 actually has the value 36 */ + case EOP_BASE62D: { uschar buf[16]; @@ -4369,10 +4371,11 @@ while (*s != 0) if (t == NULL) { expand_string_message = string_sprintf("argument for base62d " - "operator is \"%s\", which is not a base 62 number", sub); + "operator is \"%s\", which is not a base %d number", sub, + BASE_62); goto EXPAND_FAILED; } - n = n * 62 + (t - base62_chars); + n = n * BASE_62 + (t - base62_chars); } (void)sprintf(CS buf, "%ld", n); yield = string_cat(yield, &size, &ptr, buf, Ustrlen(buf)); diff --git a/src/src/globals.c b/src/src/globals.c index eed5a9704..3a5b2af1c 100644 --- a/src/src/globals.c +++ b/src/src/globals.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/globals.c,v 1.38 2005/09/13 11:13:27 ph10 Exp $ */ +/* $Cambridge: exim/src/src/globals.c,v 1.39 2005/09/28 10:46:48 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -333,8 +333,14 @@ uschar *av_scanner = US"sophie:/var/run/sophie"; /* AV scanner */ #endif BOOL background_daemon = TRUE; + +#if BASE_62 == 62 uschar *base62_chars= US"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; +#else +uschar *base62_chars= US"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; +#endif + uschar *bi_command = NULL; uschar *big_buffer = NULL; int big_buffer_size = BIG_BUFFER_SIZE; -- 2.25.1