diff --git a/src/http/modules/ngx_http_geo_module.c b/src/http/modules/ngx_http_geo_module.c
index 34c3b19..9b3c6cb 100644
--- a/src/http/modules/ngx_http_geo_module.c
+++ b/src/http/modules/ngx_http_geo_module.c
@@ -1470,7 +1470,7 @@
 
     vv = (ngx_http_variable_value_t *) (base + sizeof(ngx_http_geo_header_t));
 
-    while(vv->data) {
+    while (vv->data) {
         len = ngx_align(sizeof(ngx_http_variable_value_t) + vv->len,
                         sizeof(void *));
         ngx_crc32_update(&crc32, (u_char *) vv, len);
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index 2947ad3..4071b61 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -2355,7 +2355,7 @@
     p += 4;
 
     while (p < last) {
-        switch(*p++) {
+        switch (*p++) {
         case ',':
             return NGX_OK;
         case ';':
@@ -2372,7 +2372,7 @@
 quantity:
 
     while (p < last) {
-        switch(*p++) {
+        switch (*p++) {
         case 'q':
         case 'Q':
             goto equal;
diff --git a/src/http/ngx_http_parse.c b/src/http/ngx_http_parse.c
index f287869..b60f41b 100644
--- a/src/http/ngx_http_parse.c
+++ b/src/http/ngx_http_parse.c
@@ -1287,7 +1287,7 @@
                 break;
             }
 
-            switch(ch) {
+            switch (ch) {
 #if (NGX_WIN32)
             case '\\':
                 if (u - 2 >= r->uri.data
@@ -1357,7 +1357,7 @@
                 break;
             }
 
-            switch(ch) {
+            switch (ch) {
 #if (NGX_WIN32)
             case '\\':
                 break;
@@ -1400,7 +1400,7 @@
                 break;
             }
 
-            switch(ch) {
+            switch (ch) {
 #if (NGX_WIN32)
             case '\\':
 #endif
@@ -1441,7 +1441,7 @@
                 break;
             }
 
-            switch(ch) {
+            switch (ch) {
 #if (NGX_WIN32)
             case '\\':
 #endif
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
index 0129691..b8812cf 100644
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -3441,7 +3441,7 @@
         u->peer.tries++;
 
     } else {
-        switch(ft_type) {
+        switch (ft_type) {
 
         case NGX_HTTP_UPSTREAM_FT_TIMEOUT:
             status = NGX_HTTP_GATEWAY_TIME_OUT;
diff --git a/src/os/win32/ngx_service.c b/src/os/win32/ngx_service.c
index 5bed9a7..dc2c6e4 100644
--- a/src/os/win32/ngx_service.c
+++ b/src/os/win32/ngx_service.c
@@ -89,7 +89,7 @@
 {
     /* primary thread */
 
-    switch(control) {
+    switch (control) {
 
     case SERVICE_CONTROL_INTERROGATE:
         status = NGX_IOCP_INTERROGATE;
