diff src/core/ngx_string.c @ 84:fab4cb00fe5b

nginx-0.0.1-2003-05-06-21:03:16 import
author Igor Sysoev <igor@sysoev.ru>
date Tue, 06 May 2003 17:03:16 +0000
parents a7e45c45a95c
children 7ebc8b7fb816
line wrap: on
line diff
--- a/src/core/ngx_string.c
+++ b/src/core/ngx_string.c
@@ -6,14 +6,16 @@
 
 char *ngx_cpystrn(char *dst, char *src, size_t n)
 {
-    if (n == 0)
+    if (n == 0) {
         return dst;
+    }
 
     for (/* void */; --n; dst++, src++) {
         *dst = *src;
 
-        if (*dst == '\0')
+        if (*dst == '\0') {
             return dst;
+        }
     }
 
     *dst = '\0';
@@ -22,10 +24,36 @@ char *ngx_cpystrn(char *dst, char *src, 
 }
 
 
+int ngx_rstrncmp(char *s1, char *s2, size_t n)
+{
+    if (n == 0) {
+        return 0;
+    }
+
+    n--;
+
+    for ( ;; ) {
+        if (s1[n] != s2[n]) {
+            return (u_char) s1[n] - (u_char) s2[n];
+        }
+
+        if (n == 0) {
+            return 0;
+        }
+
+        n--;
+    }
+}
+
+
 int ngx_atoi(char *line, size_t n)
 {
     int  value;
 
+    if (n == 0) {
+        return NGX_ERROR;
+    }
+
     for (value = 0; n--; line++) {
         if (*line < '0' || *line > '9') {
             return NGX_ERROR;