env-util: don't use strlen_ptr if known non-NULL

This commit is contained in:
Mike Yuan
2024-01-30 03:29:53 +08:00
parent 17f3e91e81
commit 17ca151733
2 changed files with 5 additions and 6 deletions
+3 -4
View File
@@ -529,17 +529,16 @@ int _strv_env_assign_many(char ***l, ...) {
return 0;
}
char *strv_env_get_n(char **l, const char *name, size_t k, ReplaceEnvFlags flags) {
char* strv_env_get_n(char **l, const char *name, size_t k, ReplaceEnvFlags flags) {
assert(name);
if (k == SIZE_MAX)
k = strlen_ptr(name);
k = strlen(name);
if (k <= 0)
return NULL;
STRV_FOREACH_BACKWARDS(i, l)
if (strneq(*i, name, k) &&
(*i)[k] == '=')
if (strneq(*i, name, k) && (*i)[k] == '=')
return *i + k + 1;
if (flags & REPLACE_ENV_USE_ENVIRONMENT) {
+2 -2
View File
@@ -53,8 +53,8 @@ int strv_env_assignf(char ***l, const char *key, const char *valuef, ...) _print
int _strv_env_assign_many(char ***l, ...) _sentinel_;
#define strv_env_assign_many(l, ...) _strv_env_assign_many(l, __VA_ARGS__, NULL)
char *strv_env_get_n(char **l, const char *name, size_t k, ReplaceEnvFlags flags) _pure_;
static inline char *strv_env_get(char **x, const char *n) {
char* strv_env_get_n(char **l, const char *name, size_t k, ReplaceEnvFlags flags) _pure_;
static inline char* strv_env_get(char **x, const char *n) {
return strv_env_get_n(x, n, SIZE_MAX, 0);
}