This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problem with new acl code and cdrtools

On Feb  8 13:24, Yaakov Selkowitz wrote:
> On 2016-02-08 08:10, Corinna Vinschen wrote:
> >Alternatively we could allow to use the Solaris ACL functions even if
> >only including sys/acl.h, given some macro:
> >
> >   sys/acl.h:
> >
> >     # include <cygwin/acl.h>
> >     #else
> >       [...POSIX definitions...]
> >     #endif
> Do the functions or typedefs conflict in any way?

No, they don't.  However, I encountered a problem when exposing the
Solaris API at the same time as the POSIX API via sys/acl.h.  Vim's
autoconf test failed to recognize support for the POSIX API.  Try
this entirely harmless (from the POSIX POV) piece of code:

  #include <sys/types.h>
  #include <sys/acl.h>

  acl_t acl;

  int main ()
    acl = acl_get_file("foo", ACL_TYPE_ACCESS);
    return 0;

Works fine, but now try this with an additional

  #include <cygwin.acl.h>

You'll get an error message:

$ gcc -c acl.c
acl.c:5:7: error: âaclâ redeclared as different kind of symbol
   acl_t acl;
In file included from acl.c:2:0:
/usr/include/cygwin/acl.h:76:13: note: previous declaration of âaclâ was here
 extern int  acl (const char *__path, int __cmd, int __nentries,

The existence of the functions acl and facl is entirely unexpected in
the POSIX context.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: signature.asc
Description: PGP signature

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]