From 568365f5bdd4dc71a156ca963d89ac002f405a34 Mon Sep 17 00:00:00 2001 From: Wiimm Date: Fri, 13 May 2022 19:22:13 +0200 Subject: SZS v2.27a --- project/src/lib-parser.c | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) (limited to 'project/src/lib-parser.c') diff --git a/project/src/lib-parser.c b/project/src/lib-parser.c index df0cc21..f375395 100644 --- a/project/src/lib-parser.c +++ b/project/src/lib-parser.c @@ -17,7 +17,7 @@ * This file is part of the SZS project. * * Visit https://szs.wiimm.de/ for project details and sources. * * * - * Copyright (c) 2011-2021 by Dirk Clemens * + * Copyright (c) 2011-2022 by Dirk Clemens * * * *************************************************************************** * * @@ -5972,7 +5972,7 @@ void CalcExpr FreeV(dest); dest->mode = VAR_INT; dest->i = op_id == OPI_NEQNEQ; - return; + return; case OPI_EQ: // S case OPI_NEQ: // S @@ -7355,6 +7355,46 @@ enumError ScanUValueSI /////////////////////////////////////////////////////////////////////////////// +enumError ScanIntValueSI +( + ScanInfo_t * si, // valid data + int * num // return value +) +{ + DASSERT(si); + DASSERT(num); + + DEFINE_VAR(var); + enumError err = ScanValueSI(si,&var); + SkipCharSI(si,','); + + switch(var.mode) + { + case VAR_UNSET: + *num = 0; + return err; + + case VAR_INT: + *num = var.i; + return err; + + case VAR_DOUBLE: + case VAR_VECTOR: + *num = double2int(var.d); + return err; + + case VAR_STRING: + *num = var.str_len ? str2l(var.str,0,10) : 0; + break; + } + + // only needed to avoid compiler warnings + *num = 0; + return err; +} + +/////////////////////////////////////////////////////////////////////////////// + enumError ScanDValueSI ( ScanInfo_t * si, // valid data -- cgit v1.3.1