From 8e8359465b7002ddb955fa898b3c57a35132683f Mon Sep 17 00:00:00 2001 From: Michiel van Baak Date: Thu, 19 Jun 2008 20:48:33 +0000 Subject: Older versions of GNU gcc do not allow 'NULL' as sentinel. They want (char *)NULL as sentinel. An example is OpenBSD (confirmed on 4.3) that ships with gcc 3.3.4 This commit introduces a contstant SENTINEL which is declared as: #define SENTINEL ((char *)NULL) All places I could test compile on my openbsd system are converted. Update CODING-GUIDELINES to tell about this constant. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@124127 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- doc/CODING-GUIDELINES | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'doc/CODING-GUIDELINES') diff --git a/doc/CODING-GUIDELINES b/doc/CODING-GUIDELINES index aeca4a15b..53fd15da3 100644 --- a/doc/CODING-GUIDELINES +++ b/doc/CODING-GUIDELINES @@ -296,6 +296,15 @@ in other files. You will have to remove the "static" declaration and define a prototype in an appropriate header file (usually in include/asterisk). A more specific name should be given, such as "ast_find_call_feature". +* Variable function argument parsing +------------------------------------ + +Functions with a variable amount of argumenst need a 'sentinel' when called. +Newer GNU C compilers are fine if you use NULL for this. Older versions (pre 4) +don't like this. +You should use the constant SENTINEL. +This one is defined in include/asterisk/compiler.h + * Variable naming ----------------- -- cgit v1.2.3