From dc19789444103512014d6e8c396403a54751e918 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Sun, 14 Dec 2014 23:32:53 +0100
Subject: [PATCH] tool_urlglob.c: reverse two loops

By counting from 0 and up instead of backwards like before, we remove
the need for the "funny" check of the unsigned variable when decreased
passed zero. Easier to read and less risk for compiler warnings.
---
 src/tool_urlglob.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/src/tool_urlglob.c b/src/tool_urlglob.c
index 5ea2743cb..5a7fbe0c7 100644
--- a/src/tool_urlglob.c
+++ b/src/tool_urlglob.c
@@ -465,8 +465,7 @@ void glob_cleanup(URLGlob* glob)
   size_t i;
   int elem;
 
-  /* the < condition is required since i underflows! */
-  for(i = glob->size - 1; (i >= 0) && (i < glob->size); --i) {
+  for(i = 0; i < glob->size; i++) {
     if((glob->pattern[i].type == UPTSet) &&
        (glob->pattern[i].content.Set.elements)) {
       for(elem = glob->pattern[i].content.Set.size - 1;
@@ -485,7 +484,6 @@ int glob_next_url(char **globbed, URLGlob *glob)
 {
   URLPattern *pat;
   size_t i;
-  size_t j;
   size_t len;
   size_t buflen = glob->urllen + 1;
   char *buf = glob->glob_buffer;
@@ -498,9 +496,8 @@ int glob_next_url(char **globbed, URLGlob *glob)
     bool carry = TRUE;
 
     /* implement a counter over the index ranges of all patterns,
-       starting with the rightmost pattern */
-    /* the < condition is required since i underflows! */
-    for(i = glob->size - 1; carry && (i >= 0) && (i < glob->size); --i) {
+       starting with the leftmost pattern */
+    for(i = 0; carry && (i < glob->size); i++) {
       carry = FALSE;
       pat = &glob->pattern[i];
       switch (pat->type) {
@@ -512,8 +509,9 @@ int glob_next_url(char **globbed, URLGlob *glob)
         }
         break;
       case UPTCharRange:
-        pat->content.CharRange.ptr_c = (char)(pat->content.CharRange.step +
-                           (int)((unsigned char)pat->content.CharRange.ptr_c));
+        pat->content.CharRange.ptr_c =
+          (char)(pat->content.CharRange.step +
+                 (int)((unsigned char)pat->content.CharRange.ptr_c));
         if(pat->content.CharRange.ptr_c > pat->content.CharRange.max_c) {
           pat->content.CharRange.ptr_c = pat->content.CharRange.min_c;
           carry = TRUE;
@@ -537,8 +535,8 @@ int glob_next_url(char **globbed, URLGlob *glob)
     }
   }
 
-  for(j = 0; j < glob->size; ++j) {
-    pat = &glob->pattern[j];
+  for(i = 0; i < glob->size; ++i) {
+    pat = &glob->pattern[i];
     switch(pat->type) {
     case UPTSet:
       if(pat->content.Set.elements) {
-- 
2.50.1