diff --git a/build/src/mongoose.c b/build/src/mongoose.c
index 102ae60f0c5b70fd59e76057f5797ac58d68700d..bce8e27997ce6b76ad7695c7b35d39901ba6b9a7 100644
--- a/build/src/mongoose.c
+++ b/build/src/mongoose.c
@@ -291,45 +291,6 @@ int mg_get_var(const char *data, size_t data_len, const char *name,
   return len;
 }
 
-int mg_get_cookie(const char *cookie_header, const char *var_name,
-                  char *dst, size_t dst_size) {
-  const char *s, *p, *end;
-  int name_len, len = -1;
-
-  if (dst == NULL || dst_size == 0) {
-    len = -2;
-  } else if (var_name == NULL || (s = cookie_header) == NULL) {
-    len = -1;
-    dst[0] = '\0';
-  } else {
-    name_len = (int) strlen(var_name);
-    end = s + strlen(s);
-    dst[0] = '\0';
-
-    for (; (s = mg_strcasestr(s, var_name)) != NULL; s += name_len) {
-      if (s[name_len] == '=') {
-        s += name_len + 1;
-        if ((p = strchr(s, ' ')) == NULL)
-          p = end;
-        if (p[-1] == ';')
-          p--;
-        if (*s == '"' && p[-1] == '"' && p > s + 1) {
-          s++;
-          p--;
-        }
-        if ((size_t) (p - s) < dst_size) {
-          len = p - s;
-          mg_strlcpy(dst, s, (size_t) len + 1);
-        } else {
-          len = -3;
-        }
-        break;
-      }
-    }
-  }
-  return len;
-}
-
 // Return 1 if real file has been found, 0 otherwise
 static int convert_uri_to_file_name(struct mg_connection *conn, char *buf,
                                     size_t buf_len, struct file *filep) {
diff --git a/build/src/string.c b/build/src/string.c
index abc4315f364f63449df23e63f180015c6eb44fc8..884ea0f24ff1e9515da00d9bafc71b253e2ede5b 100644
--- a/build/src/string.c
+++ b/build/src/string.c
@@ -335,3 +335,42 @@ static int get_request_len(const char *buf, int buf_len) {
 
   return 0;
 }
+
+int mg_get_cookie(const char *cookie_header, const char *var_name,
+                  char *dst, size_t dst_size) {
+  const char *s, *p, *end;
+  int name_len, len = -1;
+
+  if (dst == NULL || dst_size == 0) {
+    len = -2;
+  } else if (var_name == NULL || (s = cookie_header) == NULL) {
+    len = -1;
+    dst[0] = '\0';
+  } else {
+    name_len = (int) strlen(var_name);
+    end = s + strlen(s);
+    dst[0] = '\0';
+
+    for (; (s = mg_strcasestr(s, var_name)) != NULL; s += name_len) {
+      if (s[name_len] == '=') {
+        s += name_len + 1;
+        if ((p = strchr(s, ' ')) == NULL)
+          p = end;
+        if (p[-1] == ';')
+          p--;
+        if (*s == '"' && p[-1] == '"' && p > s + 1) {
+          s++;
+          p--;
+        }
+        if ((size_t) (p - s) < dst_size) {
+          len = p - s;
+          mg_strlcpy(dst, s, (size_t) len + 1);
+        } else {
+          len = -3;
+        }
+        break;
+      }
+    }
+  }
+  return len;
+}
diff --git a/mongoose.c b/mongoose.c
index 07017ba3b19619f1dce4fc2151d50432ee099284..2440d4a70f45c683fc6dd00eee443d86a234a25f 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -495,7 +495,6 @@ static void sockaddr_to_string(char *buf, size_t len,
 #endif
 }
 
-
 static void mg_strlcpy(register char *dst, register const char *src, size_t n) {
   for (; *src != '\0' && n > 1; n--) {
     *dst++ = *src++;
@@ -832,6 +831,45 @@ static int get_request_len(const char *buf, int buf_len) {
   return 0;
 }
 
+int mg_get_cookie(const char *cookie_header, const char *var_name,
+                  char *dst, size_t dst_size) {
+  const char *s, *p, *end;
+  int name_len, len = -1;
+
+  if (dst == NULL || dst_size == 0) {
+    len = -2;
+  } else if (var_name == NULL || (s = cookie_header) == NULL) {
+    len = -1;
+    dst[0] = '\0';
+  } else {
+    name_len = (int) strlen(var_name);
+    end = s + strlen(s);
+    dst[0] = '\0';
+
+    for (; (s = mg_strcasestr(s, var_name)) != NULL; s += name_len) {
+      if (s[name_len] == '=') {
+        s += name_len + 1;
+        if ((p = strchr(s, ' ')) == NULL)
+          p = end;
+        if (p[-1] == ';')
+          p--;
+        if (*s == '"' && p[-1] == '"' && p > s + 1) {
+          s++;
+          p--;
+        }
+        if ((size_t) (p - s) < dst_size) {
+          len = p - s;
+          mg_strlcpy(dst, s, (size_t) len + 1);
+        } else {
+          len = -3;
+        }
+        break;
+      }
+    }
+  }
+  return len;
+}
+
 static const char *month_names[] = {
   "Jan", "Feb", "Mar", "Apr", "May", "Jun",
   "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
@@ -2944,45 +2982,6 @@ int mg_get_var(const char *data, size_t data_len, const char *name,
   return len;
 }
 
-int mg_get_cookie(const char *cookie_header, const char *var_name,
-                  char *dst, size_t dst_size) {
-  const char *s, *p, *end;
-  int name_len, len = -1;
-
-  if (dst == NULL || dst_size == 0) {
-    len = -2;
-  } else if (var_name == NULL || (s = cookie_header) == NULL) {
-    len = -1;
-    dst[0] = '\0';
-  } else {
-    name_len = (int) strlen(var_name);
-    end = s + strlen(s);
-    dst[0] = '\0';
-
-    for (; (s = mg_strcasestr(s, var_name)) != NULL; s += name_len) {
-      if (s[name_len] == '=') {
-        s += name_len + 1;
-        if ((p = strchr(s, ' ')) == NULL)
-          p = end;
-        if (p[-1] == ';')
-          p--;
-        if (*s == '"' && p[-1] == '"' && p > s + 1) {
-          s++;
-          p--;
-        }
-        if ((size_t) (p - s) < dst_size) {
-          len = p - s;
-          mg_strlcpy(dst, s, (size_t) len + 1);
-        } else {
-          len = -3;
-        }
-        break;
-      }
-    }
-  }
-  return len;
-}
-
 // Return 1 if real file has been found, 0 otherwise
 static int convert_uri_to_file_name(struct mg_connection *conn, char *buf,
                                     size_t buf_len, struct file *filep) {