nginx-0.1.33-RELEASE import

    *) Bugfix: nginx could not be built with the --without-pcre parameter;
       the bug had appeared in 0.1.29.

    *) Bugfix: 3, 4, 7, and 8 the "proxy_set_header" directives in one
       level cause the bus fault on start up.

    *) Bugfix: the HTTP protocol was specified in the HTTPS redirects.

    *) Bugfix: if the "rewrite" directive used the captures inside the "if"
       directive, then the 500 error code was returned.
diff --git a/src/core/nginx.c b/src/core/nginx.c
index bb6f093..7b98e12 100644
--- a/src/core/nginx.c
+++ b/src/core/nginx.c
@@ -440,7 +440,7 @@
             return NGX_ERROR;
         }
 
-        ngx_cpystrn((u_char *) ngx_argv[i], (u_char *) argv[i], len);
+        (void) ngx_cpystrn((u_char *) ngx_argv[i], (u_char *) argv[i], len);
     }
 
     ngx_argv[i] = NULL;
@@ -473,8 +473,8 @@
     ccf->master = NGX_CONF_UNSET;
     ccf->worker_processes = NGX_CONF_UNSET;
     ccf->debug_points = NGX_CONF_UNSET;
-    ccf->user = (ngx_uid_t) NGX_CONF_UNSET;
-    ccf->group = (ngx_gid_t) NGX_CONF_UNSET;
+    ccf->user = (ngx_uid_t) NGX_CONF_UNSET_UINT;
+    ccf->group = (ngx_gid_t) NGX_CONF_UNSET_UINT;
 #if (NGX_THREADS)
     ccf->worker_threads = NGX_CONF_UNSET;
     ccf->thread_stack_size = NGX_CONF_UNSET_SIZE;
@@ -507,7 +507,7 @@
 
 #if !(NGX_WIN32)
 
-    if (ccf->user == (uid_t) NGX_CONF_UNSET && geteuid() == 0) {
+    if (ccf->user == (uid_t) NGX_CONF_UNSET_UINT && geteuid() == 0) {
 
         pwd = getpwnam(NGX_USER);
         if (pwd == NULL) {
@@ -573,7 +573,7 @@
     struct group     *grp;
     ngx_str_t        *value;
 
-    if (ccf->user != (uid_t) NGX_CONF_UNSET) {
+    if (ccf->user != (uid_t) NGX_CONF_UNSET_UINT) {
         return "is duplicate";
     }
 
diff --git a/src/core/nginx.h b/src/core/nginx.h
index d1a5693..efc35b8 100644
--- a/src/core/nginx.h
+++ b/src/core/nginx.h
@@ -8,7 +8,7 @@
 #define _NGINX_H_INCLUDED_
 
 
-#define NGINX_VER          "nginx/0.1.32"
+#define NGINX_VER          "nginx/0.1.33"
 
 #define NGINX_VAR          "NGINX"
 #define NGX_NEWPID_EXT     ".newbin"
diff --git a/src/core/ngx_conf_file.c b/src/core/ngx_conf_file.c
index 42143bd..1a66ea9 100644
--- a/src/core/ngx_conf_file.c
+++ b/src/core/ngx_conf_file.c
@@ -457,7 +457,7 @@
                 return NGX_OK;
 
             case '}':
-                if (cf->args->nelts > 0) {
+                if (cf->args->nelts != 0) {
                     ngx_log_error(NGX_LOG_EMERG, cf->log, 0,
                                   "unexpected \"}\" in %s:%ui",
                                   cf->conf_file->file.name.data,
diff --git a/src/core/ngx_config.h b/src/core/ngx_config.h
index 675d427..4045e7a 100644
--- a/src/core/ngx_config.h
+++ b/src/core/ngx_config.h
@@ -126,9 +126,9 @@
 
 
 #if ((__GNU__ == 2) && (__GNUC_MINOR__ < 8))
-#define NGX_MAX_UINT32_VALUE  0xffffffffLL
+#define NGX_MAX_UINT32_VALUE  (uint32_t) 0xffffffffLL
 #else
-#define NGX_MAX_UINT32_VALUE  0xffffffff
+#define NGX_MAX_UINT32_VALUE  (uint32_t) 0xffffffff
 #endif
 
 
diff --git a/src/core/ngx_connection.h b/src/core/ngx_connection.h
index eed955a..bbca32b 100644
--- a/src/core/ngx_connection.h
+++ b/src/core/ngx_connection.h
@@ -17,8 +17,8 @@
 
     struct sockaddr  *sockaddr;
     socklen_t         socklen;    /* size of sockaddr */
-    int               addr;       /* offset to address in sockaddr */
-    int               addr_text_max_len;
+    size_t            addr;       /* offset to address in sockaddr */
+    size_t            addr_text_max_len;
     ngx_str_t         addr_text;
 
     int               family;
diff --git a/src/core/ngx_cycle.c b/src/core/ngx_cycle.c
index eaebdb0..3a1c00e 100644
--- a/src/core/ngx_cycle.c
+++ b/src/core/ngx_cycle.c
@@ -717,7 +717,7 @@
             continue;
         }
 #else
-        if (user != (ngx_uid_t) -1) {
+        if (user != (ngx_uid_t) NGX_CONF_UNSET_UINT) {
 
             if (ngx_file_info((const char *) file[i].name.data, &fi) == -1) {
                 ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno,
diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c
index 46d2e0a..efabd39 100644
--- a/src/core/ngx_file.c
+++ b/src/core/ngx_file.c
@@ -61,8 +61,8 @@
     n = ngx_next_temp_number(0);
 
     for ( ;; ) {
-        ngx_sprintf(file->name.data + path->name.len + 1 + path->len,
-                    "%0muA%Z", n);
+        (void) ngx_sprintf(file->name.data + path->name.len + 1 + path->len,
+                           "%0muA%Z", n);
 
         ngx_create_hashed_filename(file, path);
 
@@ -123,7 +123,8 @@
 void
 ngx_create_hashed_filename(ngx_file_t *file, ngx_path_t *path)
 {
-    ngx_uint_t  i, name, pos, level;
+    size_t      name, pos, level;
+    ngx_uint_t  i;
 
     name = file->name.len;
     pos = path->name.len + 1;
@@ -151,8 +152,9 @@
 ngx_int_t
 ngx_create_path(ngx_file_t *file, ngx_path_t *path)
 {
-    int        i, pos;
-    ngx_err_t  err;
+    size_t      pos;
+    ngx_err_t   err;
+    ngx_uint_t  i;
 
     pos = path->name.len;
 
@@ -344,7 +346,7 @@
             }
         }
 
-        if (user == (ngx_uid_t) -1) {
+        if (user == (ngx_uid_t) NGX_CONF_UNSET_UINT) {
             continue;
         }
 
diff --git a/src/core/ngx_file.h b/src/core/ngx_file.h
index 2bda858..1efee29 100644
--- a/src/core/ngx_file.h
+++ b/src/core/ngx_file.h
@@ -33,8 +33,8 @@
 
 struct ngx_path_s {
     ngx_str_t           name;
-    ngx_uint_t          len;
-    ngx_uint_t          level[3];
+    size_t              len;
+    size_t              level[3];
     ngx_gc_handler_pt   cleaner;
 
     u_char             *conf_file;
diff --git a/src/core/ngx_garbage_collector.c b/src/core/ngx_garbage_collector.c
index 07a3f7f..4eeaeb9 100644
--- a/src/core/ngx_garbage_collector.c
+++ b/src/core/ngx_garbage_collector.c
@@ -6,7 +6,6 @@
 
 #include <ngx_config.h>
 #include <ngx_core.h>
-#include <ngx_garbage_collector.h>
 
 
 
diff --git a/src/core/ngx_inet.c b/src/core/ngx_inet.c
index e7bdc41..7b2d8d6 100644
--- a/src/core/ngx_inet.c
+++ b/src/core/ngx_inet.c
@@ -225,8 +225,9 @@
 {
     char                *err;
     u_char              *host;
+    size_t               len;
     in_addr_t            in_addr;
-    ngx_uint_t           i, len;
+    ngx_uint_t           i;
     ngx_peers_t         *peers;
     struct hostent      *h;
     struct sockaddr_in  *sin;
@@ -281,7 +282,7 @@
         return NULL;
     }
 
-    ngx_cpystrn(host, u->host.data, u->host.len + 1);
+    (void) ngx_cpystrn(host, u->host.data, u->host.len + 1);
 
     /* AF_INET only */
 
diff --git a/src/core/ngx_log.c b/src/core/ngx_log.c
index 2782582..efc62f9 100644
--- a/src/core/ngx_log.c
+++ b/src/core/ngx_log.c
@@ -179,7 +179,7 @@
 
     errstr[len++] = LF;
 
-    write(log->file->fd, errstr, len);
+    (void) write(log->file->fd, errstr, len);
 
 #endif
 }
diff --git a/src/core/ngx_output_chain.c b/src/core/ngx_output_chain.c
index e4a8723..1e72291 100644
--- a/src/core/ngx_output_chain.c
+++ b/src/core/ngx_output_chain.c
@@ -381,12 +381,12 @@
         n = ngx_read_file(src->file, dst->pos, (size_t) size, src->file_pos);
 
         if (n == NGX_ERROR) {
-            return n;
+            return (ngx_int_t) n;
         }
 
 #if (NGX_FILE_AIO_READ)
         if (n == NGX_AGAIN) {
-            return n;
+            return (ngx_int_t) n;
         }
 #endif
 
diff --git a/src/core/ngx_string.c b/src/core/ngx_string.c
index 8d69c1b..0307bb1 100644
--- a/src/core/ngx_string.c
+++ b/src/core/ngx_string.c
@@ -15,7 +15,7 @@
         return dst;
     }
 
-    for (/* void */; --n; dst++, src++) {
+    for ( /* void */ ; --n; dst++, src++) {
         *dst = *src;
 
         if (*dst == '\0') {
diff --git a/src/core/ngx_times.c b/src/core/ngx_times.c
index 30938a1..f43987e 100644
--- a/src/core/ngx_times.c
+++ b/src/core/ngx_times.c
@@ -155,14 +155,14 @@
 
     p = cached_http_time[slot];
 
-    ngx_sprintf(p, "%s, %02d %s %4d %02d:%02d:%02d GMT",
-                week[ngx_cached_gmtime.ngx_tm_wday],
-                ngx_cached_gmtime.ngx_tm_mday,
-                months[ngx_cached_gmtime.ngx_tm_mon - 1],
-                ngx_cached_gmtime.ngx_tm_year,
-                ngx_cached_gmtime.ngx_tm_hour,
-                ngx_cached_gmtime.ngx_tm_min,
-                ngx_cached_gmtime.ngx_tm_sec);
+    (void) ngx_sprintf(p, "%s, %02d %s %4d %02d:%02d:%02d GMT",
+                       week[ngx_cached_gmtime.ngx_tm_wday],
+                       ngx_cached_gmtime.ngx_tm_mday,
+                       months[ngx_cached_gmtime.ngx_tm_mon - 1],
+                       ngx_cached_gmtime.ngx_tm_year,
+                       ngx_cached_gmtime.ngx_tm_hour,
+                       ngx_cached_gmtime.ngx_tm_min,
+                       ngx_cached_gmtime.ngx_tm_sec);
 
     ngx_cached_http_time.data = p;
 
@@ -175,7 +175,7 @@
 #elif (NGX_HAVE_GMTOFF)
 
     ngx_localtime(&tm);
-    ngx_gmtoff = tm.ngx_tm_gmtoff / 60;
+    ngx_gmtoff = (ngx_int_t) (tm.ngx_tm_gmtoff / 60);
 
 #else
 
@@ -187,22 +187,22 @@
 
     p = cached_err_log_time[slot];
 
-    ngx_sprintf(p, "%4d/%02d/%02d %02d:%02d:%02d",
-                tm.ngx_tm_year, tm.ngx_tm_mon,
-                tm.ngx_tm_mday, tm.ngx_tm_hour,
-                tm.ngx_tm_min, tm.ngx_tm_sec);
+    (void) ngx_sprintf(p, "%4d/%02d/%02d %02d:%02d:%02d",
+                       tm.ngx_tm_year, tm.ngx_tm_mon,
+                       tm.ngx_tm_mday, tm.ngx_tm_hour,
+                       tm.ngx_tm_min, tm.ngx_tm_sec);
 
     ngx_cached_err_log_time.data = p;
 
 
     p = cached_http_log_time[slot];
 
-    ngx_sprintf(p, "%02d/%s/%d:%02d:%02d:%02d %c%02d%02d",
-                tm.ngx_tm_mday, months[tm.ngx_tm_mon - 1],
-                tm.ngx_tm_year, tm.ngx_tm_hour,
-                tm.ngx_tm_min, tm.ngx_tm_sec,
-                ngx_gmtoff < 0 ? '-' : '+',
-                abs(ngx_gmtoff / 60), abs(ngx_gmtoff % 60));
+    (void) ngx_sprintf(p, "%02d/%s/%d:%02d:%02d:%02d %c%02d%02d",
+                       tm.ngx_tm_mday, months[tm.ngx_tm_mon - 1],
+                       tm.ngx_tm_year, tm.ngx_tm_hour,
+                       tm.ngx_tm_min, tm.ngx_tm_sec,
+                       ngx_gmtoff < 0 ? '-' : '+',
+                       abs(ngx_gmtoff / 60), abs(ngx_gmtoff % 60));
 
     ngx_cached_http_log_time.data = p;
 
diff --git a/src/core/ngx_unix_domain.c b/src/core/ngx_unix_domain.c
index a7fdd63..097d111 100644
--- a/src/core/ngx_unix_domain.c
+++ b/src/core/ngx_unix_domain.c
@@ -72,7 +72,7 @@
     peers->number = 1;
 
     sun->sun_family = AF_UNIX;
-    ngx_cpystrn((u_char *) sun->sun_path, u->url.data + 5, len + 1);
+    (void) ngx_cpystrn((u_char *) sun->sun_path, u->url.data + 5, len + 1);
 
     peers->peer[0].sockaddr = (struct sockaddr *) sun;
     peers->peer[0].socklen = sizeof(struct sockaddr_un);