Han-Wen Nienhuys <hanwen@xxxxxxxxxx> writes: > On Thu, Sep 9, 2021 at 11:46 PM René Scharfe <l.s.r@xxxxxx> wrote: >> >> We only need to provide a mode if we are willing to let open(2) create >> the file, which is not the case here, so drop the unnecessary parameter. > > I was #today years old when I learned that C supports (a limited form > of) function signature overloading. I do not think it is that kind of magic. Like printf(3) that allows its early parameter to affect the way how its later parameters are recognised, it just allows the flags word to decide if it needs to grab one extra mode_t out of va_list or not, which can be done as a plain vanilla varargs function, i.e. extern int open(const char *path, int flags, ...);