]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
env: Add H_DEFAULT flag
authorMarek Vasut <marex@denx.de>
Tue, 7 Jul 2020 18:51:34 +0000 (20:51 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 31 Jul 2020 14:13:00 +0000 (10:13 -0400)
Add another internal environment flag which indicates that the operation
is resetting the environment to the default one. This allows the env code
to discern between import of external environment and reset to default.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
env/common.c
include/search.h

index 088b2aebb42c531b3a026320e60a502d250342ba..0db56e610a2f84449a1c4f847e9e6b2f00645cd3 100644 (file)
@@ -81,6 +81,7 @@ void env_set_default(const char *s, int flags)
                debug("Using default environment\n");
        }
 
+       flags |= H_DEFAULT;
        if (himport_r(&env_htab, (char *)default_environment,
                        sizeof(default_environment), '\0', flags, 0,
                        0, NULL) == 0)
@@ -99,7 +100,7 @@ int env_set_default_vars(int nvars, char * const vars[], int flags)
         * Special use-case: import from default environment
         * (and use \0 as a separator)
         */
-       flags |= H_NOCLEAR;
+       flags |= H_NOCLEAR | H_DEFAULT;
        return himport_r(&env_htab, (const char *)default_environment,
                                sizeof(default_environment), '\0',
                                flags, 0, nvars, vars);
index bca36d3abc8426700d74c391f6213aa40f5c4df8..c4b50c9630be95a6e6abb2bf090155a055ee64b8 100644 (file)
@@ -112,5 +112,6 @@ int hwalk_r(struct hsearch_data *htab,
 #define H_MATCH_METHOD (H_MATCH_IDENT | H_MATCH_SUBSTR | H_MATCH_REGEX)
 #define H_PROGRAMMATIC (1 << 9) /* indicate that an import is from env_set() */
 #define H_ORIGIN_FLAGS (H_INTERACTIVE | H_PROGRAMMATIC)
+#define H_DEFAULT      (1 << 10) /* indicate that an import is default env */
 
 #endif /* _SEARCH_H_ */