Hi Eric,

I have uploaded an updated variant to same location :
http://jp-andre.pagesperso-orange.fr/systcomp.tar.gz

The only significant change is about defining the
plugin library.

Eric Biggers wrote:
> On Wed, Dec 09, 2015 at 12:15:26PM +0100, Jean-Pierre André wrote:
[...]
>> Not done (yet ?). There are more exceptions now.
>> I agree this should be improved, but have to find
>> out how.
>
> In which cases doesn't the macro work?

I thought there was a problem with release(), which
does not lead to an error when missing, but it is Ok.

I also wanted to get rid of the gcc-ism on the construct
"({...})" which is not allowed by c99 or c11.
My best offer so far requires variables to be declared
outside the macro :

#define CALL_REPARSE_PLUGIN(ni, op_name, ...)                   \
         (reparse = (REPARSE_POINT*)NULL,                        \
         ops = select_reparse_plugin(ni, ctx, &reparse),         \
         (!ops ? errno                                           \
                 : (ops->op_name ?                               \
                         ops->op_name(ni, reparse, __VA_ARGS__)  \
                         : -EOPNOTSUPP))),                       \
                 free(reparse)

[...]

> One option is to set the plugin directory as "$(libdir)/ntfs-3g" in
> src/Makefile.am and pass it as a compiler flag.  That will honor the 
> packager's
> choice of prefix and library directory, although the plugin directory itself
> would not be directly configurable.  There also would need to be an install 
> hook
> added to create the empty plugin directory.
[...]
This works fine (apart from testing without installing).

I will probably not come back to it until the new year.

Regards

Jean-Pierre



------------------------------------------------------------------------------
_______________________________________________
ntfs-3g-devel mailing list
ntfs-3g-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel

Reply via email to