STREVAL(3ast) STREVAL(3ast)

# [NAME](#NAME)

streval - long integer arithmetic expression evaluator

# [SYNOPSIS](#SYNOPSIS)

long streval(const char* s, char\** e, long (\*conv)(const char* cs, char\** ce))

# [DESCRIPTION](#DESCRIPTION)

*streval* evaluates the long integer arithmetic expression in the null-terminated string *s* and returns the result. If *e* is not 0 then *\*e* is set to point to the first unknown character in the expression.

If *conv* is not 0 then it is called when an unknown token is encountered in *s*. *cs* points to the beginning of the unknown token. The return value is the long integer value of the unknown token and *ce* must be set to point to the first character after the unknown token. If an expression syntax error is encountered the *conv* is called with *cs* set to 0 and *\*ce* pointing to the error message text.

In addition to the normal C expressions and integer constant styles, numbers in any base *b* &lt;= 2 &lt;=36 may be represented as *b*#*nnnn*, where the extra digits in *nnnn* are taken from **\[A-Z]**.

# [SEE ALSO](#SEE_ALSO)

[strtol(3)](/man/os/ksh/strtol.3)

---

Document: streval(3ast) from ksh 1.0.10-r36 (Chainguard OS)
Source: https://github.com/ksh93/ksh
