summaryrefslogtreecommitdiff
path: root/src/libexecline/exlp.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2017-01-07 20:31:02 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2017-01-07 20:31:02 +0000
commit6a9ca73e10c3c4e8a95101313e9c5d46cf018f86 (patch)
tree41ae80cb08fa1e280012b799ad0d1e63090b19bc /src/libexecline/exlp.c
parent6245dcef12eed3b12b129519eeaf11f7e221d278 (diff)
downloadexecline-6a9ca73e10c3c4e8a95101313e9c5d46cf018f86.tar.xz
Types fix: first pass
This pass makes variable size_t-ready, so everything works when the prototypes are fixed in skalibs. Some code uses "unsigned int *" where it should be "size_t *"; it cannot be changed now, but it's been marked with XXX. It must change at the same time as the skalibs API.
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) : "" ;