X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=exp%2Fexpression-parser.y;h=04a6e07a38ae924ed04cbb6736b87894eeceee61;hb=971341ad741db8d2ae57d8f9b368d75f6c02c1a9;hp=83b5b302ed1ae10ae8e40cb676cc1a13613b0777;hpb=c9fa1c8d4cf41ea3b895cb68d5b4bc17e935d621;p=fio.git diff --git a/exp/expression-parser.y b/exp/expression-parser.y index 83b5b302..04a6e07a 100644 --- a/exp/expression-parser.y +++ b/exp/expression-parser.y @@ -14,14 +14,13 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #include #include #include -#include "lexer.h" struct parser_value_type { double dval; @@ -44,6 +43,7 @@ int yyerror(__attribute__((unused)) long long *result, extern int yylex(void); extern void yyrestart(FILE *file); +extern int lexer_value_is_time; %} @@ -188,7 +188,7 @@ expression: expression '+' expression { static int lexer_read_offset = 0; static char lexer_input_buffer[1000]; -int lexer_input(char* buffer, yy_size_t *bytes_read, int bytes_requested) +int lexer_input(char* buffer, unsigned int *bytes_read, int bytes_requested) { int bytes_left = strlen(lexer_input_buffer) - lexer_read_offset; @@ -215,10 +215,11 @@ static void setup_to_parse_string(const char *string) } int evaluate_arithmetic_expression(const char *buffer, long long *ival, double *dval, - double implied_units) + double implied_units, int is_time) { int rc, units_specified = 0, has_error = 0; + lexer_value_is_time = is_time; setup_to_parse_string(buffer); rc = yyparse(ival, dval, &has_error, &units_specified); yyrestart(NULL);