From: Dan Carpenter <dan.carpenter@oracle.com>
To: mkelly@xevo.com
Cc: linux-iio@vger.kernel.org
Subject: [bug report] tools: iio: iio_generic_buffer: allow continuous looping
Date: Tue, 8 Jan 2019 23:38:09 +0300 [thread overview]
Message-ID: <20190108203809.GA27223@kadam> (raw)
Hello Martin Kelly,
The patch 55dda0abcf9d: "tools: iio: iio_generic_buffer: allow
continuous looping" from May 17, 2018, leads to the following static
checker warning:
./tools/iio/iio_generic_buffer.c:640 main()
warn: unsigned 'num_loops' is never less than zero.
./tools/iio/iio_generic_buffer.c
331 int main(int argc, char **argv)
332 {
333 unsigned long long num_loops = 2;
^^^^^^^^
334 unsigned long timedelay = 1000000;
335 unsigned long buf_len = 128;
336
337 ssize_t i;
338 unsigned long long j;
339 unsigned long toread;
340 int ret, c;
341 int fp = -1;
342
343 int num_channels = 0;
344 char *trigger_name = NULL, *device_name = NULL;
345
346 char *data = NULL;
347 ssize_t read_size;
348 int dev_num = -1, trig_num = -1;
349 char *buffer_access = NULL;
350 int scan_size;
351 int noevents = 0;
352 int notrigger = 0;
353 char *dummy;
354 bool force_autochannels = false;
355
356 struct iio_channel_info *channels = NULL;
357
[ snip ]
632 /* Attempt to open non blocking the access dev */
633 fp = open(buffer_access, O_RDONLY | O_NONBLOCK);
634 if (fp == -1) { /* TODO: If it isn't there make the node */
635 ret = -errno;
636 fprintf(stderr, "Failed to open %s\n", buffer_access);
637 goto error;
638 }
639
--> 640 for (j = 0; j < num_loops || num_loops < 0; j++) {
^^^^^^^^^^^^^
If num_loops is -1 then it's supposed to loop forever. It basically
does, except for the static checker warning.
641 if (!noevents) {
642 struct pollfd pfd = {
643 .fd = fp,
644 .events = POLLIN,
645 };
646
647 ret = poll(&pfd, 1, -1);
648 if (ret < 0) {
649 ret = -errno;
650 goto error;
651 } else if (ret == 0) {
652 continue;
653 }
654
655 toread = buf_len;
656 } else {
657 usleep(timedelay);
658 toread = 64;
659 }
regards,
dan carpenter
next reply other threads:[~2019-01-08 20:38 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-08 20:38 Dan Carpenter [this message]
2019-01-08 22:20 ` [bug report] tools: iio: iio_generic_buffer: allow continuous looping Martin Kelly
2019-01-09 6:23 ` Dan Carpenter
2019-01-11 23:03 ` Martin Kelly
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190108203809.GA27223@kadam \
--to=dan.carpenter@oracle.com \
--cc=linux-iio@vger.kernel.org \
--cc=mkelly@xevo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox