]> git.sur5r.net Git - u-boot/commitdiff
"start" may be legitimately 0x0000
authorwdenk <wdenk>
Fri, 19 Sep 2003 08:29:25 +0000 (08:29 +0000)
committerwdenk <wdenk>
Fri, 19 Sep 2003 08:29:25 +0000 (08:29 +0000)
board/trab/auto_update.c

index 9559d5e04e3a75dbb75ca1ab2fb61378a24c7885..9371637e9258f31d7b42a0a4655a3c31b18af15e 100644 (file)
@@ -485,41 +485,45 @@ do_auto_update(void)
         * now check whether start and end are defined using environment
         * variables.
         */
-       start = end = 0;
+       start = -1;
+       end = 0;
        env = getenv("firmware_st");
        if (env != NULL)
                start = simple_strtoul(env, NULL, 16);
        env = getenv("firmware_nd");
        if (env != NULL)
                end = simple_strtoul(env, NULL, 16);
-       if (start && end && end > start)
+       if (start >= 0 && end && end > start)
                ausize[IDX_FIRMWARE] = (end + 1) - start;
-       start = end = 0;
+       start = -1;
+       end = 0;
        env = getenv("kernel_st");
        if (env != NULL)
                start = simple_strtoul(env, NULL, 16);
        env = getenv("kernel_nd");
        if (env != NULL)
                end = simple_strtoul(env, NULL, 16);
-       if (start && end && end > start)
+       if (start >= 0 && end && end > start)
                ausize[IDX_KERNEL] = (end + 1) - start;
-       start = end = 0;
+       start = -1;
+       end = 0;
        env = getenv("app_st");
        if (env != NULL)
                start = simple_strtoul(env, NULL, 16);
        env = getenv("app_nd");
        if (env != NULL)
                end = simple_strtoul(env, NULL, 16);
-       if (start && end && end > start)
+       if (start >= 0 && end && end > start)
                ausize[IDX_APP] = (end + 1) - start;
-       start = end = 0;
+       start = -1;
+       end = 0;
        env = getenv("disk_st");
        if (env != NULL)
                start = simple_strtoul(env, NULL, 16);
        env = getenv("disk_nd");
        if (env != NULL)
                end = simple_strtoul(env, NULL, 16);
-       if (start && end && end > start)
+       if (start >= 0 && end && end > start)
                ausize[IDX_DISK] = (end + 1) - start;
        /* make sure that we see CTRL-C and save the old state */
        old_ctrlc = disable_ctrlc(0);