nginx-0.3.16-RELEASE import

    *) Feature: the ngx_http_map_module.

    *) Feature: the "types_hash_max_size" and "types_hash_bucket_size"
       directives.

    *) Feature: the "ssi_value_length" directive.

    *) Feature: the "worker_rlimit_core" directive.

    *) Workaround: the connection number in logs was always 1 if nginx was
       built by the icc 8.1 or 9.0 compilers with optimization for
       Pentium 4.

    *) Bugfix: the "config timefmt" SSI command set incorrect time format.

    *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the
       SSL connections; the bug had appeared in 0.3.13.
       Thanks to Rob Mueller.

    *) Bugfix: segmentation fault may occurred in at SSL shutdown; the bug
       had appeared in 0.3.13.
diff --git a/src/core/ngx_config.h b/src/core/ngx_config.h
index 96569b8..d924ec5 100644
--- a/src/core/ngx_config.h
+++ b/src/core/ngx_config.h
@@ -98,8 +98,8 @@
 #define NGX_ALIGNMENT   sizeof(unsigned long)    /* platform word */
 #endif
 
-#define ngx_align(p)    (u_char *) (((uintptr_t) p + (NGX_ALIGNMENT - 1))     \
-                                      & ~(NGX_ALIGNMENT - 1))
+#define ngx_align(d, a)     (((d) + (a - 1)) & ~(a - 1))
+#define ngx_align_ptr(p, a) (u_char *) (((uintptr_t) (p) + (a - 1)) & ~(a - 1))
 
 
 #define ngx_abort       abort