X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Ffunctions.h;h=f4fcd1e19677f0e3bc68159178856777713581fd;hb=152481a026745132f8cd90fac166e6f4ecb6ea58;hp=8905d02a2537578987f6a1a9f2ecbb3598012a88;hpb=444163417b289354b53d4708760f31d947ac6fd1;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/functions.h b/src/src/functions.h index 8905d02a2..f4fcd1e19 100644 --- a/src/src/functions.h +++ b/src/src/functions.h @@ -197,8 +197,8 @@ extern BOOL dkim_transport_write_message(transport_ctx *, #endif extern dns_address *dns_address_from_rr(dns_answer *, dns_record *); extern int dns_basic_lookup(dns_answer *, const uschar *, int); -extern void dns_build_reverse(const uschar *, uschar *); -extern time_t dns_expire_from_soa(dns_answer *); +extern uschar *dns_build_reverse(const uschar *); +extern time_t dns_expire_from_soa(dns_answer *, int); extern void dns_init(BOOL, BOOL, BOOL); extern BOOL dns_is_aa(const dns_answer *); extern BOOL dns_is_secure(const dns_answer *); @@ -878,20 +878,33 @@ return string_sprintf("%s/%s/%s/%s", # endif static inline uschar * -spool_sname(const uschar * purpose, uschar * subdir) +spool_q_sname(const uschar * purpose, const uschar * q, uschar * subdir) { return string_sprintf("%s%s%s%s%s", - queue_name, *queue_name ? "/" : "", + q, *q ? "/" : "", purpose, *subdir ? "/" : "", subdir); } +static inline uschar * +spool_sname(const uschar * purpose, uschar * subdir) +{ +return spool_q_sname(purpose, queue_name, subdir); +} + +static inline uschar * +spool_q_fname(const uschar * purpose, const uschar * q, + const uschar * subdir, const uschar * fname, const uschar * suffix) +{ +return string_sprintf("%s/%s/%s/%s/%s%s", + spool_directory, q, purpose, subdir, fname, suffix); +} + static inline uschar * spool_fname(const uschar * purpose, const uschar * subdir, const uschar * fname, const uschar * suffix) { -return string_sprintf("%s/%s/%s/%s/%s%s", - spool_directory, queue_name, purpose, subdir, fname, suffix); +return spool_q_fname(purpose, queue_name, subdir, fname, suffix); } static inline void @@ -924,7 +937,7 @@ static uschar buf[sizeof("0.000s")]; if (diff->tv_sec >= 5 || !LOGGING(millisec)) return readconf_printtime((int)diff->tv_sec); -sprintf(CS buf, "%u.%03us", (uint)diff->tv_sec, (uint)diff->tv_usec/1000); +snprintf(CS buf, sizeof(buf), "%u.%03us", (uint)diff->tv_sec, (uint)diff->tv_usec/1000); return buf; }