Re: [PATCH v4 01/44] wrapper: implement xopen()
- From
Paul Tan <pyokagan@gmail.com>
- Date
- Jul 1, 2015, 06:04 UTC
- Message-ID
- <CACRoPnRN0ET17USKVFFJHc_y1jK1xdmgc0r-omaUy_+Qgg=ffg@mail.gmail.com>
- In-Reply-To
- <5590CE10.3020104@web.de>
On Mon, Jun 29, 2015 at 12:48 PM, Torsten Bögershausen <tboegi@web.de> wrote:
Show 17 quoted lines
> - Having xopen() with 2 or 3 parameter is good, but the current may need
> some tweaks for better portability:
>
> int xopen(const char *path, int oflag, ...)
> {
> mode_t mode = 0;
> if (oflag & O_CREAT) {
> va_list ap;
> va_start(ap, oflag);
> mode = va_arg(ap, int);
> va_end(ap);
>
> }
>
> See e.g.
> <http://blitiri.com.ar/git/r/libfiu/c/37f6a98110e3bb59bbb4971241baa3a385c3f724/>
> why va_arg(ap, int) should be used:Ah OK. I've learned about yet another dark corner of C :-).
Thanks, Paul