From: Stephen M. Cameron Date: Mon, 6 Oct 2014 22:58:32 +0000 (-0500) Subject: fix problem with yy_size_t vs int param to lexer_input X-Git-Tag: fio-2.1.14~99 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=c9fa1c8d4cf41ea3b895cb68d5b4bc17e935d621 fix problem with yy_size_t vs int param to lexer_input BSD yacc uses "int" for this param, linux uses size_t Signed-off-by: Jens Axboe --- diff --git a/Makefile b/Makefile index d735ec7e..424a112f 100644 --- a/Makefile +++ b/Makefile @@ -268,7 +268,7 @@ override CFLAGS += -DFIO_VERSION='"$(FIO_VERSION)"' ifdef CONFIG_ARITHMETIC lex.yy.c: exp/expression-parser.l - $(QUIET_LEX)$(LEX) exp/expression-parser.l + $(QUIET_LEX)$(LEX) --header-file=lexer.h exp/expression-parser.l lex.yy.o: lex.yy.c y.tab.h $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $< @@ -281,6 +281,8 @@ y.tab.c: exp/expression-parser.y y.tab.h: y.tab.c +lexer.h: lex.yy.c + exp/test-expression-parser.o: exp/test-expression-parser.c $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $< exp/test-expression-parser: exp/test-expression-parser.o diff --git a/exp/expression-parser.y b/exp/expression-parser.y index e4373d4d..83b5b302 100644 --- a/exp/expression-parser.y +++ b/exp/expression-parser.y @@ -21,6 +21,8 @@ #include #include #include +#include "lexer.h" + struct parser_value_type { double dval; long long ival; @@ -186,7 +188,7 @@ expression: expression '+' expression { static int lexer_read_offset = 0; static char lexer_input_buffer[1000]; -int lexer_input(char* buffer, int *bytes_read, int bytes_requested) +int lexer_input(char* buffer, yy_size_t *bytes_read, int bytes_requested) { int bytes_left = strlen(lexer_input_buffer) - lexer_read_offset;