[PATCH v3 00/13] env_get_char() removal and env_get_f() refactor

Marek Behún kabel at kernel.org
Sun Oct 17 17:36:25 CEST 2021

From: Marek Behún <marek.behun at nic.cz>

Hi Simon, Tom,

env_get_char() is a relic from the past when env was read char-by-char
from underlying device. Currently it only accesses in-memory arrays.
We can remove it and access the arrays directly. This simplifies the old
code of env_get_f().

Changes since v2:
- added patch
    env: Simplify env_match() and inline into env_get_f()
- remove patch
    env: Check for terminating null-byte in env_match()
  (not needed with the above patch added)
- changed order of patches a little
- rebased to accomodate the order change and the added and removed patch

Changes since v1:
- use memcpy() instead of strncpy() when copying value to buffer
- fixed a bug in patch adding check to terminating NULL-byte
- added patch fixing documentation for env_get_f()
- added patch changing behaviour of return value of env_get_f()
- some other cosmetic changes


Marek Behún (13):
  env: Fix documentation for env_get_f()
  env: Drop env_get_char_spec() and old, unused .get_char()
  examples: api: glue: Remove comment that does not apply anymore
  env: Change env_match() to static and remove from header
  env: Inline env_get_char() into its only user
  env: Use string pointer instead of indexes in env_get_f()
  env: Use better name for variable in env_get_f()
  env: Don't match empty variable name in env_match()
  env: Early return from env_get_f() on NULL name
  env: Make return value of env_get_f() behave like sprintf() on success
  env: Use memcpy() instead of ad-hoc code to copy variable value
  env: Simplify env_match() and inline into env_get_f()
  env: Move non-cli env functions to env/common.c

 cmd/nvedit.c        | 188 --------------------------------------------
 env/common.c        | 180 ++++++++++++++++++++++++++++++++++++++++++
 env/eeprom.c        |  18 -----
 env/env.c           |  13 ---
 env/nowhere.c       |   5 +-
 env/nvram.c         |  14 ----
 examples/api/glue.c |   5 --
 include/env.h       |  24 +-----
 8 files changed, 184 insertions(+), 263 deletions(-)


More information about the U-Boot mailing list