X-Git-Url: https://git.sesse.net/?p=itkacl;a=blobdiff_plain;f=perl-itkacl-2.0%2Fitkacl.i;fp=perl-itkacl-2.0%2Fitkacl.i;h=f58703c171512351665b38d9ec4fec25031d1753;hp=0000000000000000000000000000000000000000;hb=d05444187cde892a36ba7f1345fa6f782f7cadd0;hpb=1636d5d75678e5ad271deb715ba5460337e5fc7f diff --git a/perl-itkacl-2.0/itkacl.i b/perl-itkacl-2.0/itkacl.i new file mode 100644 index 0000000..f58703c --- /dev/null +++ b/perl-itkacl-2.0/itkacl.i @@ -0,0 +1,20 @@ +/* SWIG interface for libitkacl */ +%module itkacl + +/* Convert errors to Perl exceptions and keep the interface clean. */ +%inline %{ + extern int itkacl_check(char *realm, char *user, char *errmsg, size_t errmsgsize); + int check(char *realm, char *user) + { + char errmsg[1024]; + int ret = itkacl_check(realm, user, errmsg, 1024); + + /* printf("check '%s' vs. '%s' gave %d\n", user, realm, ret); */ + if (ret == -1) + die(errmsg); + else + return (ret == 0); + } + +%} +