diff options
| author | Wiimm <wiimm@wiimm.de> | 2022-05-13 19:22:13 +0200 |
|---|---|---|
| committer | Wiimm <wiimm@wiimm.de> | 2022-05-13 19:22:13 +0200 |
| commit | 568365f5bdd4dc71a156ca963d89ac002f405a34 (patch) | |
| tree | 730d0311536d8fd46a56b74e2c8cac028e778243 /project/src/lib-parser.c | |
| parent | 9ae8841ec4720e74173e2f72fac33f0848bbf435 (diff) | |
SZS v2.27a
Diffstat (limited to 'project/src/lib-parser.c')
| -rw-r--r-- | project/src/lib-parser.c | 44 |
1 files changed, 42 insertions, 2 deletions
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 <wiimm@wiimm.de> * + * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> * * * *************************************************************************** * * @@ -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 |
