<feed xmlns='http://www.w3.org/2005/Atom'>
<title>starfive-tech/u-boot.git/cmd/nvedit.c, branch master</title>
<subtitle>StarFive Tech U-Boot for VisionFive (JH7110) boards (mirror)</subtitle>
<id>https://git.radix-linux.su/starfive-tech/u-boot.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/starfive-tech/u-boot.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/'/>
<updated>2021-10-21T18:50:48+00:00</updated>
<entry>
<title>env: Move non-cli env functions to env/common.c</title>
<updated>2021-10-21T18:50:48+00:00</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-10-17T15:36:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=f231566475c545de476a3bf5f596c246c52511aa'/>
<id>urn:sha1:f231566475c545de476a3bf5f596c246c52511aa</id>
<content type='text'>
Move the following functions from cmd/nvedit.c to env/common.c:
  env_set_ulong()
  env_set_hex()
  env_get_hex()
  eth_env_get_enetaddr()
  eth_env_set_enetaddr()
  env_get()
  from_env()
  env_get_f()
  env_get_ulong()
since these functions are not specific for U-Boot's CLI.

We leave env_set() in cmd/nvedit.c, since it calls _do_env_set(), which
is a static function in that file.

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>env: Simplify env_match() and inline into env_get_f()</title>
<updated>2021-10-21T18:50:48+00:00</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-10-17T15:36:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=a80652ebb394abfd508feb38090228f5e5290d32'/>
<id>urn:sha1:a80652ebb394abfd508feb38090228f5e5290d32</id>
<content type='text'>
In the past the env_match() function was used to match envs with
- name, i.e. string "name"
- variable assignment, i.e. string "name=other_value"

The latter is not the case anymore, since the env_match() function is
now used only in env_get_f(), and so we can simplify the function into
a simple strncmp() with an additional comparison to '='.

Let's do this, and since the resulting function is quite simple, let's
also inline its code into env_get_f().

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>env: Use memcpy() instead of ad-hoc code to copy variable value</title>
<updated>2021-10-21T18:50:48+00:00</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-10-17T15:36:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=a473766cce44882237e567bcd58f7559ecdd0440'/>
<id>urn:sha1:a473766cce44882237e567bcd58f7559ecdd0440</id>
<content type='text'>
Copy the value of the found variable into given buffer with memcpy()
instead of ad-hoc code.

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>env: Make return value of env_get_f() behave like sprintf() on success</title>
<updated>2021-10-21T18:50:48+00:00</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-10-17T15:36:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=3112ce0ce8195880aec5e9373434a85e21c3e1af'/>
<id>urn:sha1:3112ce0ce8195880aec5e9373434a85e21c3e1af</id>
<content type='text'>
Currently the env_get_f() function's return value behaves weirdly: it
returns the number of bytes written into `buf`, but whether this is
excluding the terminating NULL-byte or including it depends on whether
there was enough space in `buf`.

Change the function to always return the actual length of the value of
the environment variable (excluding the terminating NULL-byte) on
success. This makes it behave like sprintf().

All users of this function in U-Boot are compatible with this change.

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>env: Early return from env_get_f() on NULL name</title>
<updated>2021-10-21T18:50:48+00:00</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-10-17T15:36:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=6b6e3eeba9f96b5d908a9b46b7bb25e76109a0c7'/>
<id>urn:sha1:6b6e3eeba9f96b5d908a9b46b7bb25e76109a0c7</id>
<content type='text'>
Test non-NULL name immediately, not in env_match().

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>env: Don't match empty variable name in env_match()</title>
<updated>2021-10-21T18:50:48+00:00</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-10-17T15:36:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=6ba4473fb757e7606a4224d87774294c9d60d2cd'/>
<id>urn:sha1:6ba4473fb757e7606a4224d87774294c9d60d2cd</id>
<content type='text'>
Do we really allow zero-length variable name? I guess not.

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>env: Use better name for variable in env_get_f()</title>
<updated>2021-10-21T18:50:48+00:00</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-10-17T15:36:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=d1bca8d2a18eb4a850c0ecbc9327eb3dfa5df5e1'/>
<id>urn:sha1:d1bca8d2a18eb4a850c0ecbc9327eb3dfa5df5e1</id>
<content type='text'>
The `nxt` variable actually points to the terminating null-byte of the
current env var, and the next env var is at `nxt + 1`, not `nxt`. So a
better name for this variable is `end`.

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>env: Use string pointer instead of indexes in env_get_f()</title>
<updated>2021-10-21T18:50:48+00:00</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-10-17T15:36:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=eff73b2eed28389805e8dda6632f6c5f29b3e9b6'/>
<id>urn:sha1:eff73b2eed28389805e8dda6632f6c5f29b3e9b6</id>
<content type='text'>
Since we no longer use env_get_char() to access n-th character of
linearized environment data, but rather access the arrays themselves, we
can convert the iteration to use string pointers instead of position
indexes.

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>env: Inline env_get_char() into its only user</title>
<updated>2021-10-21T18:50:48+00:00</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-10-17T15:36:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=52f9ed34cb3768663ee9c2e5d980143e8ac783a9'/>
<id>urn:sha1:52f9ed34cb3768663ee9c2e5d980143e8ac783a9</id>
<content type='text'>
This function is a relic from the past when environment was read from
underlying device one character at a time.

It is used only in the case when getting an environemnt variable prior
relocation, and the function is simple enough to be inlined there.

Since env_get_char() is being changed to simple access to an array, we
can drop the failing cases and simplify the code (this could have been
done before, since env_get_char() did not fail even before).

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>env: Change env_match() to static and remove from header</title>
<updated>2021-10-21T18:50:48+00:00</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-10-17T15:36:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/u-boot.git/commit/?id=7b611ee90e1e4db531c4e3896efebfdc0743725d'/>
<id>urn:sha1:7b611ee90e1e4db531c4e3896efebfdc0743725d</id>
<content type='text'>
This function was used by other parts of U-Boot in the past when
environment was read from underlying device one character at a time.

This is not the case anymore.

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
</feed>
