summaryrefslogtreecommitdiff
path: root/src/libexecline/exlp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libexecline/exlp.c')
-rw-r--r--src/libexecline/exlp.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/libexecline/exlp.c b/src/libexecline/exlp.c
index 060eb68..1ba37c0 100644
--- a/src/libexecline/exlp.c
+++ b/src/libexecline/exlp.c
@@ -1,5 +1,6 @@
/* ISC license. */
+#include <sys/types.h>
#include <skalibs/bytestr.h>
#include <skalibs/env.h>
#include <skalibs/strerr2.h>
@@ -11,13 +12,14 @@
int exlp (unsigned int nmin, char const *const *envp, exlsn_t *info)
{
- unsigned int varbase = info->vars.len ;
- unsigned int valbase = info->values.len ;
- unsigned int datbase = genalloc_len(elsubst_t, &info->data) ;
- unsigned int i = 0 ;
- char const *x = env_get2(envp, "#") ;
+ size_t varbase = info->vars.len ;
+ size_t valbase = info->values.len ;
+ size_t datbase = genalloc_len(elsubst_t, &info->data) ;
+ size_t poszero ;
elsubst_t blah ;
- unsigned int n, ntot, poszero ;
+ char const *x = env_get2(envp, "#") ;
+ unsigned int n, ntot, i = 0 ;
+
if (!x) return -2 ;
if (!uint0_scan(x, &n)) return -2 ;
if (el_vardupl("#", info->vars.s, info->vars.len)) return -2 ;
@@ -47,7 +49,7 @@ int exlp (unsigned int nmin, char const *const *envp, exlsn_t *info)
for (; i <= ntot ; i++)
{
char fmt[UINT_FMT] ;
- unsigned int l = uint_fmt(fmt, i) ;
+ size_t l = uint_fmt(fmt, i) ;
fmt[l] = 0 ;
if (el_vardupl(fmt, info->vars.s, info->vars.len)) goto err2 ;
x = (i <= n) ? env_get2(envp, fmt) : "" ;