diff options
Diffstat (limited to '')
-rw-r--r-- | src/var.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/var.c b/src/var.c index 501a279..17d3637 100644 --- a/src/var.c +++ b/src/var.c @@ -202,6 +202,21 @@ setvar(const char *name, const char *val, int flags) INTON; } +/* + * Set the given integer as the value of a variable. The flags argument is + * ored with the flags of the variable. + */ + +intmax_t setvarint(const char *name, intmax_t val) +{ + int len = max_int_length(sizeof(val)); + char buf[len]; + + fmtstr(buf, len, "%jd", val); + setvar(name, buf, 0); + return val; +} + /* @@ -293,6 +308,11 @@ lookupvar(const char *name) return NULL; } +intmax_t lookupvarint(const char *name) +{ + return atomax(lookupvar(name) ?: nullstr, 0); +} + /* |