diff --git a/libdap2/cache.c b/libdap2/cache.c index d481704e4..40db10392 100644 --- a/libdap2/cache.c +++ b/libdap2/cache.c @@ -25,7 +25,7 @@ static int iscacheableconstraint(DCEconstraint* con); int iscached(NCDAPCOMMON* nccomm, CDFnode* target, NCcachenode** cachenodep) { - int i, found; + int found; size_t j; size_t index; NCcache* cache; @@ -39,7 +39,8 @@ iscached(NCDAPCOMMON* nccomm, CDFnode* target, NCcachenode** cachenodep) cache = nccomm->cdf.cache; cachenode = cache->prefetch; if(cachenode!= NULL) { - for(found=0,i=0;i<nclistlength(cachenode->vars);i++) { + found = 0; + for(size_t i=0;i<nclistlength(cachenode->vars);i++) { CDFnode* var = (CDFnode*)nclistget(cachenode->vars,i); if(var == target) { if(cachenodep) *cachenodep = cachenode; @@ -51,7 +52,7 @@ iscached(NCDAPCOMMON* nccomm, CDFnode* target, NCcachenode** cachenodep) /*search other cache nodes starting at latest first */ index = 0; - for(i=nclistlength(cache->nodes)-1;i>=0;i--) { + for(size_t i = nclistlength(cache->nodes); i-->0;) { cachenode = (NCcachenode*)nclistget(cache->nodes,i); /* We currently do not try to match constraints; If the cachenode is constrained by more than diff --git a/libdap2/constraints.c b/libdap2/constraints.c index e1c230856..036feeb4e 100644 --- a/libdap2/constraints.c +++ b/libdap2/constraints.c @@ -623,11 +623,10 @@ next: continue; } /*for(;;)*/ /* remove all NULL elements */ - int n; - for(n=nclistlength(list)-1;n>=0;n--) { + for(size_t n = nclistlength(list); n-->0;) { DCEprojection* target = (DCEprojection*)nclistget(list,n); - if(target == NULL) - nclistremove(list,n); + if(target == NULL) + nclistremove(list,n); } done: #ifdef DEBUG diff --git a/libdap2/dapodom.c b/libdap2/dapodom.c index c8d4a2239..8d59bc6cf 100644 --- a/libdap2/dapodom.c +++ b/libdap2/dapodom.c @@ -114,9 +114,8 @@ dapodom_count(Dapodometer* odom) int dapodom_next(Dapodometer* odom) { - int i; /* do not make unsigned */ if(odom->rank == 0) return 0; - for(i=odom->rank-1;i>=0;i--) { + for(size_t i = odom->rank; i-->0;) { odom->index[i] += odom->stride[i]; if(odom->index[i] < odom->stop[i]) break; if(i == 0) return 0; /* leave the 0th entry if it overflows*/ diff --git a/libdap2/daputil.c b/libdap2/daputil.c index f70237f21..70c351625 100644 --- a/libdap2/daputil.c +++ b/libdap2/daputil.c @@ -268,11 +268,8 @@ nclistminus(NClist* l1, NClist* l2) int nclistdeleteall(NClist* l, void* elem) { - int i; /* do not make unsigned */ - unsigned int len,found; - found = 0; - len = nclistlength(l); - for(i=len-1;i>=0;i--) { + int found = 0; + for(size_t i = nclistlength(l); i-->0;) { void* test = nclistget(l,i); if(test==elem) { nclistremove(l,i); diff --git a/libdap2/ncd2dispatch.c b/libdap2/ncd2dispatch.c index b60d2eca2..577e5a7ce 100644 --- a/libdap2/ncd2dispatch.c +++ b/libdap2/ncd2dispatch.c @@ -2146,14 +2146,14 @@ fail: static NCerror suppressunusablevars(NCDAPCOMMON* dapcomm) { - int i,j; + size_t i,j; int found = 1; NClist* path = nclistnew(); while(found) { found = 0; /* Walk backwards to aid removal semantics */ - for(i=nclistlength(dapcomm->cdf.ddsroot->tree->varnodes)-1;i>=0;i--) { + for(i = nclistlength(dapcomm->cdf.ddsroot->tree->varnodes); i-->0;) { CDFnode* var = (CDFnode*)nclistget(dapcomm->cdf.ddsroot->tree->varnodes,i); /* See if this var is under an unusable sequence */ nclistclear(path); diff --git a/libdispatch/dinfermodel.c b/libdispatch/dinfermodel.c index ebd2d3ef8..882f1771b 100644 --- a/libdispatch/dinfermodel.c +++ b/libdispatch/dinfermodel.c @@ -557,10 +557,9 @@ negateone(const char* mode, NClist* newmodes) const struct MODEINFER* tests = modenegations; int changed = 0; for(;tests->key;tests++) { - int i; if(strcasecmp(tests->key,mode)==0) { /* Find and remove all instances of the inference value */ - for(i=nclistlength(newmodes)-1;i>=0;i--) { + for(size_t i = nclistlength(newmodes); i-- > 0;) { char* candidate = nclistget(newmodes,i); if(strcasecmp(candidate,tests->inference)==0) { nclistremove(newmodes,i); @@ -1188,25 +1187,25 @@ cleancommalist(const char* commalist, int caseinsensitive) static void cleanstringlist(NClist* strs, int caseinsensitive) { - int i,j; + int j; if(nclistlength(strs) == 0) return; /* Remove nulls */ - for(i=nclistlength(strs)-1;i>=0;i--) { + for(size_t i = nclistlength(strs); i-->0;) { if(nclistget(strs,i)==NULL) nclistremove(strs,i); } /* Remove duplicates*/ - for(i=0;i<nclistlength(strs);i++) { + for(size_t i=0;i<nclistlength(strs);i++) { const char* value = nclistget(strs,i); /* look ahead for duplicates */ for(j=nclistlength(strs)-1;j>i;j--) { int match; const char* candidate = nclistget(strs,j); if(caseinsensitive) - match = (strcasecmp(value,candidate) == 0); - else - match = (strcmp(value,candidate) == 0); - if(match) {char* dup = nclistremove(strs,j); nullfree(dup);} - } + match = (strcasecmp(value,candidate) == 0); + else + match = (strcmp(value,candidate) == 0); + if(match) {char* dup = nclistremove(strs,j); nullfree(dup);} + } } } diff --git a/libdispatch/drc.c b/libdispatch/drc.c index 7ad2c7e45..9bfaa35a7 100644 --- a/libdispatch/drc.c +++ b/libdispatch/drc.c @@ -362,7 +362,6 @@ rctrim(char* text) char* p; char* q; size_t len = 0; - int i; if(text == NULL || *text == '\0') return; @@ -375,7 +374,7 @@ rctrim(char* text) len = strlen(p); /* locate last non-trimchar */ if(len > 0) { - for(i=(len-1);i>=0;i--) { + for(size_t i = len; i-->0;) { p = &text[i]; if(*p != ' ' && *p != '\t' && *p != '\r') {break;} *p = '\0'; /* elide trailing trimchars */ diff --git a/libhdf5/hdf5filter.c b/libhdf5/hdf5filter.c index c529eac92..2cd840aac 100644 --- a/libhdf5/hdf5filter.c +++ b/libhdf5/hdf5filter.c @@ -224,13 +224,13 @@ printfilterlist(NC_VAR_INFO_T* var, const char* tag, int line) int NC4_hdf5_filter_freelist(NC_VAR_INFO_T* var) { - int i, stat=NC_NOERR; + int stat=NC_NOERR; NClist* filters = (NClist*)var->filters; if(filters == NULL) goto done; PRINTFILTERLIST(var,"free: before"); /* Free the filter list backward */ - for(i=nclistlength(filters)-1;i>=0;i--) { + for(size_t i = nclistlength(filters);i-->0;) { struct NC_HDF5_Filter* spec = (struct NC_HDF5_Filter*)nclistremove(filters,i); if(spec->nparams > 0) nullfree(spec->params); nullfree(spec); @@ -312,11 +312,10 @@ done: int NC4_hdf5_filter_remove(NC_VAR_INFO_T* var, unsigned int id) { - int k; NClist* flist = (NClist*)var->filters; /* Walk backwards */ - for(k=nclistlength(flist)-1;k>=0;k--) { + for(size_t k = nclistlength(flist); k-->0;) { struct NC_HDF5_Filter* f = (struct NC_HDF5_Filter*)nclistget(flist,k); if(f->filterid == id) { /* Remove from variable */ diff --git a/libnczarr/zchunking.c b/libnczarr/zchunking.c index d2defd230..eb328d3c7 100644 --- a/libnczarr/zchunking.c +++ b/libnczarr/zchunking.c @@ -96,8 +96,7 @@ NCZ_compute_projections(struct Common* common, int r, size64_t chunkindex, cons projection = &projections[n]; if(n > 0) { /* Find last non-skipped projection */ - int i; - for(i=n-1;i>=0;i--) { /* walk backward */ + for(size_t i=n;i-->0;) { /* walk backward */ if(!projections[i].skip) { prev = &projections[i]; break; diff --git a/libnczarr/zfilter.c b/libnczarr/zfilter.c index bf1eb8542..6f4a8b973 100644 --- a/libnczarr/zfilter.c +++ b/libnczarr/zfilter.c @@ -423,12 +423,12 @@ done: int NCZ_filter_remove(NC_VAR_INFO_T* var, unsigned int id) { - int k, stat = NC_NOERR; + int stat = NC_NOERR; NClist* flist = (NClist*)var->filters; ZTRACE(6,"var=%s id=%u",var->hdr.name,id); /* Walk backwards */ - for(k=nclistlength(flist)-1;k>=0;k--) { + for(size_t k = nclistlength(flist); k-->0;) { struct NCZ_Filter* f = (struct NCZ_Filter*)nclistget(flist,k); if(f->hdf5.id == id) { /* Remove from variable */ @@ -896,9 +896,8 @@ fprintf(stderr,">>> next: alloc=%u used=%u buf=%p\n",(unsigned)next_alloc,(unsig } } else { /* Apply in reverse order */ - int k; - for(k=(int)nclistlength(chain)-1;k>=0;k--) { - f = (struct NCZ_Filter*)nclistget(chain,(size_t)k); + for(size_t k=nclistlength(chain); k-->0;) { + f = (struct NCZ_Filter*)nclistget(chain, k); if(f->flags & FLAG_SUPPRESS) continue; /* this filter should not be applied */ ff = f->plugin->hdf5.filter; /* code can be simplified */ diff --git a/ncdump/ocprint.c b/ncdump/ocprint.c index e75d153a0..9860d6d87 100644 --- a/ncdump/ocprint.c +++ b/ncdump/ocprint.c @@ -1104,11 +1104,10 @@ odom_init(size_t rank, size_t* indices, size_t* dimsizes) static void odom_next(size_t rank, size_t* indices, size_t* dimsizes) { - int i; - for(i=rank-1;i>=0;i--) { - indices[i]++; - if(indices[i] < dimsizes[i]) break; - if(i > 0) indices[i] = 0; + for(size_t i = rank; i-->0;) { + indices[i]++; + if(indices[i] < dimsizes[i]) break; + if(i > 0) indices[i] = 0; } } diff --git a/oc2/ocutil.c b/oc2/ocutil.c index a5000be9e..9cb808afa 100644 --- a/oc2/ocutil.c +++ b/oc2/ocutil.c @@ -490,10 +490,9 @@ ocarrayoffset(size_t rank, size_t* sizes, const size_t* indices) void ocarrayindices(size_t index, size_t rank, size_t* sizes, size_t* indices) { - int i; - for(i=rank-1;i>=0;i--) { - indices[i] = index % sizes[i]; - index = (index - indices[i]) / sizes[i]; + for(size_t i = rank; i-->0;) { + indices[i] = index % sizes[i]; + index = (index - indices[i]) / sizes[i]; } }