From 1422a9465482deeba1218755e1d4d0a02e6abc3f Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Mon, 8 Feb 2010 10:02:49 -0500 Subject: talloc: Fix abi checks and ifdefs teach the abi check scripts to skip the DOXYGEN sections fix the header to use #ifdef DOXYGEN and not #if DOXYGEN --- lib/talloc/script/mksigs.pl | 16 ++++++++++++++++ lib/talloc/script/mksyms.awk | 16 ++++++++++++++-- lib/talloc/talloc.h | 4 ++-- 3 files changed, 32 insertions(+), 4 deletions(-) (limited to 'lib/talloc') diff --git a/lib/talloc/script/mksigs.pl b/lib/talloc/script/mksigs.pl index 755cd79603..dfe36bc138 100755 --- a/lib/talloc/script/mksigs.pl +++ b/lib/talloc/script/mksigs.pl @@ -27,6 +27,7 @@ use strict; use warnings; my $in_comment = 0; +my $in_doxygen = 0; my $extern_C_block = 0; while (my $LINE = <>) { @@ -41,6 +42,14 @@ while (my $LINE = <>) { } } + # find end of DOXYGEN section + if ($in_doxygen) { + if ($LINE =~ /^#\s*else(?:\s+.*)?$/) { + $in_doxygen = 0; + } + next; + } + # strip C++-style comments $LINE =~ s/^(.*?)\/\/.*$/$1/; @@ -69,6 +78,13 @@ while (my $LINE = <>) { $LINE .= " " . $LINE2; } + # remove DOXYGEN sections + if ($LINE =~ /^#\s*ifdef\s+DOXYGEN(?:\s+.*)?$/) { + $in_doxygen = 1; + next; + } + + # remove all preprocessor directives next if ($LINE =~ /^#/); diff --git a/lib/talloc/script/mksyms.awk b/lib/talloc/script/mksyms.awk index 8775faff3f..83497a7a06 100644 --- a/lib/talloc/script/mksyms.awk +++ b/lib/talloc/script/mksyms.awk @@ -8,6 +8,7 @@ # BEGIN { inheader=0; + indoxygen=0; } END { @@ -20,9 +21,15 @@ END { } next; } + if (indoxygen) { + if (match($0,"^#[ \t]*else[ \t]*.*$")) { + indoxygen = 0; + } + next; + } } -/^static/ || /^[ \t]*typedef/ || !/^[a-zA-Z\_]/ { +/^static/ || /^[ \t]*typedef/ || !/^[a-zA-Z\_\#]/ { next; } @@ -33,11 +40,16 @@ END { next; } +/^#[ \t]*ifdef[ \t]*DOXYGEN[ \t]*.*$/ { + indoxygen=1; + next; +} + # look for function headers: { gotstart = 0; if ($0 ~ /^[A-Za-z_][A-Za-z0-9_]+/) { - gotstart = 1; + gotstart = 1; } if(!gotstart) { next; diff --git a/lib/talloc/talloc.h b/lib/talloc/talloc.h index ca75b98225..edd9b8ae88 100644 --- a/lib/talloc/talloc.h +++ b/lib/talloc/talloc.h @@ -222,7 +222,7 @@ int _talloc_free(void *ptr, const char *location); */ void talloc_free_children(void *ptr); -#if DOXYGEN +#ifdef DOXYGEN /** * @brief Assign a destructor function to be called when a chunk is freed. * @@ -1191,7 +1191,7 @@ void *talloc_realloc(const void *ctx, void *ptr, #type, size_t count); void *_talloc_realloc_array(const void *ctx, void *ptr, size_t el_size, unsigned count, const char *name); #endif -#if DOXYGEN +#ifdef DOXYGEN /** * @brief Untyped realloc to change the size of a talloc array. * -- cgit