[PATCH 01/18] iio: Add helper functions for enum style channel attributes
Greg Kroah-Hartman
gregkh at linuxfoundation.org
Tue Jun 5 04:45:27 UTC 2012
On Mon, Jun 04, 2012 at 01:55:10PM +0300, Dan Carpenter wrote:
> On Mon, Jun 04, 2012 at 11:36:11AM +0200, Lars-Peter Clausen wrote:
> > +ssize_t iio_enum_available_read(struct iio_dev *indio_dev,
> > + uintptr_t priv, const struct iio_chan_spec *chan, char *buf)
> > +{
> > + const struct iio_enum *e = (const struct iio_enum *)priv;
> > + unsigned int i;
> > + size_t len = 0;
> > +
> > + if (!e->num_items)
> > + return 0;
> > +
> > + for (i = 0; i < e->num_items; ++i)
> > + len += snprintf(buf + len, PAGE_SIZE - len, "%s ", e->items[i]);
> > +
> > + /* replace last space with a newline */
> > + buf[len - 1] = '\n';
> > +
>
> It would be better to use scnprintf() here instead of snprintf().
> snprintf() returns the number of characters that would have been
> printed if there were space (not counting the NULL), so len - 1 can
> be beyond the end of the array.
Good idea. Lars, care to send a follow-on patch that fixes this up?
thanks,
greg k-h
More information about the devel
mailing list