Re: [PATCH 1/1] tools: iio: fix iio_generic_buffer

From: Jonathan Cameron
Date: Sun Jan 07 2024 - 10:53:47 EST


On Thu, 4 Jan 2024 12:12:45 +0200
Petre Rodan <petre.rodan@xxxxxxxxxxxxxxx> wrote:

> Fix code flow problem and floating point exception caused by improper
> directory stream positioning.
>
> Fixes: <e58537ccce733> ("staging: iio: update example application.")
> Signed-off-by: Petre Rodan <petre.rodan@xxxxxxxxxxxxxxx>
Hi Petre,

This doesn't really explain 'why' seeekdir(dp, 0) is wrong.
My assumption is that telldir() would not have returned 0 on this particular
system? Could you confirm that and update the message to explain why
seekdir(dp, 0) is not equivalent to rewinddir(dp).

Thanks,

Jonathan

> ---
> tools/iio/iio_utils.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/iio/iio_utils.c b/tools/iio/iio_utils.c
> index 6a00a6eecaef..c5c5082cb24e 100644
> --- a/tools/iio/iio_utils.c
> +++ b/tools/iio/iio_utils.c
> @@ -376,7 +376,7 @@ int build_channel_array(const char *device_dir, int buffer_idx,
> goto error_close_dir;
> }
>
> - seekdir(dp, 0);
> + rewinddir(dp);
> while (ent = readdir(dp), ent) {
> if (strcmp(ent->d_name + strlen(ent->d_name) - strlen("_en"),
> "_en") == 0) {
> --
> 2.41.0
>