ngx_strlchr()
diff --git a/src/core/ngx_string.h b/src/core/ngx_string.h
index fff618b..af28186 100644
--- a/src/core/ngx_string.h
+++ b/src/core/ngx_string.h
@@ -54,9 +54,25 @@
 
 
 #define ngx_strstr(s1, s2)  strstr((const char *) s1, (const char *) s2)
-#define ngx_strchr(s1, c)   strchr((const char *) s1, (int) c)
 #define ngx_strlen(s)       strlen((const char *) s)
 
+#define ngx_strchr(s1, c)   strchr((const char *) s1, (int) c)
+
+static ngx_inline u_char *
+ngx_strlchr(u_char *p, u_char *last, u_char c)
+{
+    while (p < last) {
+
+        if (*p == c) {
+            return p;
+        }
+
+        p++;
+    }
+
+    return NULL;
+}
+
 
 /*
  * msvc and icc7 compile memset() to the inline "rep stos"