i should be pre-incremented in the loop maintenance code or else
authorYONETANI Tomokazu <y0netan1@dragonflybsd.org>
Sat, 27 Jan 2007 14:14:13 +0000 (14:14 +0000)
committerYONETANI Tomokazu <y0netan1@dragonflybsd.org>
Sat, 27 Jan 2007 14:14:13 +0000 (14:14 +0000)
cp is assigned one element earlier than expected.  Convert the loop
to a simpler form.

sys/kern/kern_environment.c

index 94f8b99..39724b7 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/kern/kern_environment.c,v 1.10.2.7 2002/05/07 09:57:16 bde Exp $
- * $DragonFly: src/sys/kern/kern_environment.c,v 1.4 2007/01/13 21:33:30 tgen Exp $
+ * $DragonFly: src/sys/kern/kern_environment.c,v 1.5 2007/01/27 14:14:13 y0netan1 Exp $
  */
 
 /*
@@ -83,7 +83,7 @@ kenv_getstring_dynamic(const char *name, int *idx)
 
        len = strlen(name);
        /* note: kunsetenv() never leaves NULL holes in the array */
-       for (cp = kenv_dynp[0], i=0; cp != NULL; cp = kenv_dynp[i++]) {
+       for (i = 0; (cp = kenv_dynp[i]) != NULL; i++) {
                if ((strncmp(cp, name, len) == 0) && (cp[len] == '=')) {
                        if (idx != NULL)
                                *idx = i;