From ac3562f3002a588c1adbb96bfd45a89f8cc55632 Mon Sep 17 00:00:00 2001 From: kpfleming Date: Thu, 24 Jan 2008 21:57:41 +0000 Subject: [PATCH] make these macros not assume that the only other field in the structure is 'argc'... this is true when someone uses AST_DECLARE_APP_ARGS, but it's perfectly reasonable to define your own structure as long as it has the right fields git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@100264 614ede4d-c843-0410-af14-a771ab80d22e --- include/asterisk/app.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/asterisk/app.h b/include/asterisk/app.h index fc0536e06..7abff8e53 100644 --- a/include/asterisk/app.h +++ b/include/asterisk/app.h @@ -275,7 +275,7 @@ int ast_app_group_list_unlock(void); the argc argument counter field. */ #define AST_STANDARD_APP_ARGS(args, parse) \ - args.argc = ast_app_separate_args(parse, '|', args.argv, (sizeof(args) - sizeof(args.argc)) / sizeof(args.argv[0])) + args.argc = ast_app_separate_args(parse, '|', args.argv, ((sizeof(args) - offsetof(typeof(args), argv)) / sizeof(args.argv[0]))) /*! \brief Performs the 'nonstandard' argument separation process for an application. @@ -288,7 +288,7 @@ int ast_app_group_list_unlock(void); the argc argument counter field. */ #define AST_NONSTANDARD_APP_ARGS(args, parse, sep) \ - args.argc = ast_app_separate_args(parse, sep, args.argv, (sizeof(args) - sizeof(args.argc)) / sizeof(args.argv[0])) + args.argc = ast_app_separate_args(parse, sep, args.argv, ((sizeof(args) - offsetof(typeof(args), argv)) / sizeof(args.argv[0]))) /*! \brief Separate a string into arguments in an array -- 2.11.4.GIT