1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-09 09:57:48 +03:00

r13019: Again protect us against format string mismatches, with the new split

out proto headers.

The reason this is done in this way is that the attribute must be on
the prototype, not the actual function defintion.  Hence the macros
which expand to nothing in the C file, but expand to an __attribute__
in the prototype header.

Andrew Bartlett
This commit is contained in:
Andrew Bartlett 2006-01-18 21:52:19 +00:00 committed by Gerald (Jerry) Carter
parent f50186e930
commit a88933668f
2 changed files with 9 additions and 4 deletions

View File

@ -112,12 +112,13 @@ struct ipv4_addr {
#include "auth/credentials/credentials.h"
#include "libcli/nbt/libnbt.h"
/***** automatically generated prototypes *****/
#include "include/proto.h"
#include "basic.h"
#undef _PRINTF_ATTRIBUTE
#define _PRINTF_ATTRIBUTE(a1, a2)
/***** automatically generated prototypes *****/
#include "basic.h"
#include "include/proto.h"
/* String routines */
#include "safe_string.h"

View File

@ -72,13 +72,17 @@ sub print_header($$)
my ($file, $header_name) = @_;
print $file "#ifndef $header_name\n";
print $file "#define $header_name\n\n";
print $file "#undef _PRINTF_ATTRIBUTE\n";
print $file "#define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2)\n";
print $file "/* This file was automatically generated by mkproto.pl. DO NOT EDIT */\n\n";
}
sub print_footer($$)
{
my ($file, $header_name) = @_;
printf $file "\n#endif /* %s */\n", $header_name;
print $file "#undef _PRINTF_ATTRIBUTE\n";
print $file "#define _PRINTF_ATTRIBUTE(a1, a2)\n";
print $file "\n#endif /* $header_name */\n\n";
}
sub handle_loadparm($$)