On Thu, Jul 16, 2015 at 01:10:18PM +0200, Thierry Reding wrote: > From: Thierry Reding <treding@xxxxxxxxxx> > > These three patches add a couple of string functions that have proven > useful in U-Boot's copy of libfdt, so they are likely to be useful for > other users as well. > > Patch 1 adds a function to count the number of strings in a property's > value. This also adds a new DTS sample along with a small test program > to validate the implemented functions. > > Patch 2 adds a function to retrieve the index of a given string in any > given property's value. This adds code to the test program introduced in > the previous patch to exercise the new functionality. > > Patch 3 adds a function to retrieve a string by index from a property's > value along with a shortcut for index 0. This extends the test program > introduced in patch 1 to validate the new functionality. > > Changes in v2: > - Safely handle non-NUL-terminated values. Uses strnlen() instead of > strlen() to restrict accesses to the property value. > - Return FDT_ERR_BADVALUE if a non-NUL-terminated value is detected. > Note that for performance reasons this doesn't always work. Cell or > byte properties can look very much like NUL-terminated strings. The > fdt_find_string() and fdt_get_string_index() functions can return a > valid index or string, respectively, because they don't look at the > complete value to determine validity. This could of course be fixed > but the cases in which this succeeds the user did ask for trouble, > so I didn't think it worth the extra effort. > - Improve documentation and tests. Sorry, it looks like these fell off my radar for ages. They look pretty good, but there are a few details I'm unhappy with. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Attachment:
pgp1KJQpuulkz.pgp
Description: PGP signature