- Subject: Re: Problem with scatter/gather IO
- From: Leon Romanovsky <leon@xxxxxxx>
- Date: Wed, 13 Jul 2011 15:16:14 +0300
- Cc: linux-c-programming@xxxxxxxxxxxxxxx
- In-reply-to: <CAA6iF_6Y4VbHSKnNMYhAhTjf=ZoQZxwO+nqYPmV=R5=6c=KKiQ@mail.gmail.com>
- List-id: <linux-c-programming.vger.kernel.org>
- References: <CAA6iF_6Y4VbHSKnNMYhAhTjf=ZoQZxwO+nqYPmV=R5=6c=KKiQ@mail.gmail.com>
On Wed, Jul 13, 2011 at 14:54, Randi Botse <nightdecoder@xxxxxxxxx> wrote:
>
> Hi,
>
> I will read/write file with readv() and writev(), I have problem to
> use that since the struct iovec will be a variable-length array, if i
> have code.
>
> struct foo {
> unsigned char data[100];
> unsigned char another_data[28];
> };
> unsigned len;
> ....
>
> /* calculate len */
> /* use len as array's member size */
> struct iovec iov[len];
> printf("len is: %i\n", len);
> readv(fd, iov, len);
>
> I got: BAD ADDRESS, and if I remove the printf() then I will get
> INVALID ARGUMENT. What the possible problem with that?
>
> Thanks,
> --
Did you try "man readv" ?
You didn't initialized iovec struct.
http://pubs.opengroup.org/onlinepubs/009695399/functions/readv.html
--
Leon Romanovsky | Independent Linux Consultant
www.leon.nu | leon@xxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Assembler]
[Git]
[Kernel List]
[Fedora Development]
[Fedora Announce]
[Autoconf]
[Yosemite Campsites]
[Yosemite News]
[GCC Help]