From 0bf0f043b6265b239593227b2a5894cd40cf5190 Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Mon, 27 May 2019 12:27:57 +0200 Subject: [PATCH] s3:mdssvc: fix flex compilation error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [4440/4495] Compiling bin/default/source3/rpc_server/mdssvc/sparql_lexer.lex.c ../../source3/rpc_server/mdssvc/sparql_lexer.l:26: error: "yyalloc" redefined [-Werror] 26 | #define yyalloc SMB_MALLOC Looks like the dirty redefine trick doesn't work anymore with newer flex versions. According to the flex manual the right thing to do is to provide own functions for yyalloc and yyrealloc when passing the options "noyyalloc noyyrealloc". BUG: https://bugzilla.samba.org/show_bug.cgi?id=13987 Signed-off-by: Ralph Boehme Reviewed-by: Stefan Metzmacher Autobuild-User(master): Ralph Böhme Autobuild-Date(master): Tue May 28 11:49:06 UTC 2019 on sn-devel-184 (cherry picked from commit 9053391f86a529e0a7dbcd23fa3a555d85c2207c) --- source3/rpc_server/mdssvc/sparql_lexer.l | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/source3/rpc_server/mdssvc/sparql_lexer.l b/source3/rpc_server/mdssvc/sparql_lexer.l index e60a3fb5de3..b6383504380 100644 --- a/source3/rpc_server/mdssvc/sparql_lexer.l +++ b/source3/rpc_server/mdssvc/sparql_lexer.l @@ -23,8 +23,6 @@ #include "rpc_server/mdssvc/sparql_parser.tab.h" #define YY_NO_INPUT -#define yyalloc SMB_MALLOC -#define yyrealloc SMB_REALLOC %} %option nounput noyyalloc noyyrealloc prefix="mdsyy" @@ -57,3 +55,13 @@ true {mdsyylval.bval = true; return BOOL;} {UANY}+ {mdsyylval.sval = talloc_strdup(talloc_tos(), mdsyytext); return WORD;} [ \t\n] /* ignore */ %% + +void *yyalloc(yy_size_t bytes) +{ + return SMB_MALLOC(bytes); +} + +void *yyrealloc(void *ptr, yy_size_t bytes) +{ + return SMB_REALLOC(ptr, bytes); +} -- 2.21.0