diff options
-rw-r--r-- | netfs/fuse/fuseAppBase.cpp | 2 | ||||
-rw-r--r-- | netfs/fuse/fuseAppBase.h | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/netfs/fuse/fuseAppBase.cpp b/netfs/fuse/fuseAppBase.cpp index fc6fa14..f0d6b52 100644 --- a/netfs/fuse/fuseAppBase.cpp +++ b/netfs/fuse/fuseAppBase.cpp @@ -224,7 +224,7 @@ FuseAppBase::runint(int argc, char ** argv) fuseApp = this; struct fuse_args args = FUSE_ARGS_INIT(argc, argv); if (fuse_opt_parse(&args, fuseApp, fuse_opts, - &helper<decltype(&FuseAppBase::opt_parse), &FuseAppBase::opt_parse>) == -1) { + &internalHelper<decltype(&FuseAppBase::opt_parse), &FuseAppBase::opt_parse>) == -1) { exit(1); } return args; diff --git a/netfs/fuse/fuseAppBase.h b/netfs/fuse/fuseAppBase.h index 4128c6b..daa8cb1 100644 --- a/netfs/fuse/fuseAppBase.h +++ b/netfs/fuse/fuseAppBase.h @@ -170,6 +170,11 @@ class DLL_PUBLIC FuseAppBase { } } } + template <typename Func, Func f, typename ... Args> + static int internalHelper(Args ... a) + { + return (fuseApp->*f)(a...); + } static FuseAppBase * fuseApp; }; |