From 8cf7754bc7c786a958e86bc35bee36c2b74ff5bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Sun, 24 Aug 2008 19:26:51 +0000 Subject: [PATCH] added a check in FS_CALL() for null hooks in KDEBUG mode git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27188 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/fs/vfs.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/system/kernel/fs/vfs.cpp b/src/system/kernel/fs/vfs.cpp index 9d9cf79057..6aa9bbb720 100644 --- a/src/system/kernel/fs/vfs.cpp +++ b/src/system/kernel/fs/vfs.cpp @@ -69,8 +69,15 @@ #define HAS_FS_CALL(vnode, op) (vnode->ops->op != NULL) #define HAS_FS_MOUNT_CALL(mount, op) (mount->volume->ops->op != NULL) -#define FS_CALL(vnode, op, params...) \ +#ifdef KDEBUG +# define FS_CALL(vnode, op, params...) \ + ( HAS_FS_CALL(vnode, op) ? \ + vnode->ops->op(vnode->mount->volume, vnode, params) \ + : (panic("FS_CALL op " #op " is NULL"), 0)) +#else +# define FS_CALL(vnode, op, params...) \ vnode->ops->op(vnode->mount->volume, vnode, params) +#endif #define FS_CALL_NO_PARAMS(vnode, op) \ vnode->ops->op(vnode->mount->volume, vnode) #define FS_MOUNT_CALL(mount, op, params...) \