diff --git a/ncgen/cdata.c b/ncgen/cdata.c index 0b9c2296f..eccf86a07 100644 --- a/ncgen/cdata.c +++ b/ncgen/cdata.c @@ -99,7 +99,7 @@ c_constant(Generator* generator, Symbol* sym, NCConstant* con, Bytebuffer* buf,. } break; case NC_OPAQUE: { char* p; - size_t bslen = (size_t)(4*con->value.opaquev.len); + size_t bslen = 4*con->value.opaquev.len; special = poolalloc(bslen+2+1); strcpy(special,"\""); p = con->value.opaquev.stringv; diff --git a/ncgen/cvt.c b/ncgen/cvt.c index b7daa7483..aa1b4c4cb 100644 --- a/ncgen/cvt.c +++ b/ncgen/cvt.c @@ -560,8 +560,8 @@ case CASE(NC_OPAQUE,NC_DOUBLE): tmp.doublev = *(double*)bytes; break; case CASE(NC_OPAQUE,NC_OPAQUE): - tmp.opaquev.stringv = (char*)ecalloc((size_t)src->value.opaquev.len+1); - memcpy(tmp.opaquev.stringv,src->value.opaquev.stringv, (size_t)src->value.opaquev.len); + tmp.opaquev.stringv = (char*)ecalloc(src->value.opaquev.len+1); + memcpy(tmp.opaquev.stringv,src->value.opaquev.stringv, src->value.opaquev.len); tmp.opaquev.len = src->value.opaquev.len; tmp.opaquev.stringv[tmp.opaquev.len] = '\0'; break; diff --git a/ncgen/data.c b/ncgen/data.c index 513248848..a70572fb1 100644 --- a/ncgen/data.c +++ b/ncgen/data.c @@ -156,9 +156,9 @@ cloneconstant(NCConstant* con) newcon->value.stringv.stringv = s; break; case NC_OPAQUE: - s = (char*)ecalloc((size_t)newcon->value.opaquev.len+1); + s = (char*)ecalloc(newcon->value.opaquev.len+1); if(newcon->value.opaquev.len > 0) - memcpy(s,newcon->value.opaquev.stringv, (size_t)newcon->value.opaquev.len); + memcpy(s,newcon->value.opaquev.stringv, newcon->value.opaquev.len); s[newcon->value.opaquev.len] = '\0'; newcon->value.opaquev.stringv = s; break; diff --git a/ncgen/data.h b/ncgen/data.h index 8342a2d7b..64566cec5 100644 --- a/ncgen/data.h +++ b/ncgen/data.h @@ -41,7 +41,7 @@ typedef union Constvalue { char* stringv; } stringv; struct Opaquev { /* NC_OPAQUE*/ - int len; /* length as originally written (rounded to even number)*/ + size_t len; /* length as originally written (rounded to even number)*/ char* stringv; /*as constant was written*/ /* (padded to even # chars >= 16)*/ /* without leading 0x*/ diff --git a/ncgen/generate.c b/ncgen/generate.c index bb5846644..912192095 100644 --- a/ncgen/generate.c +++ b/ncgen/generate.c @@ -259,16 +259,16 @@ normalizeopaquelength(NCConstant* prim, unsigned long nbytes) /* do nothing*/ } else if(prim->value.opaquev.len > nnibs) { /* truncate*/ prim->value.opaquev.stringv[nnibs] = '\0'; - prim->value.opaquev.len = (int)nnibs; + prim->value.opaquev.len = nnibs; } else {/* prim->value.opaquev.len < nnibs => expand*/ char* s; s = (char*)ecalloc(nnibs+1); memset(s,'0',nnibs); /* Fill with '0' characters */ - memcpy(s,prim->value.opaquev.stringv, (size_t)prim->value.opaquev.len); + memcpy(s,prim->value.opaquev.stringv, prim->value.opaquev.len); s[nnibs] = '\0'; efree(prim->value.opaquev.stringv); prim->value.opaquev.stringv=s; - prim->value.opaquev.len = (int)nnibs; + prim->value.opaquev.len = nnibs; } } diff --git a/ncgen/ncgeny.c b/ncgen/ncgeny.c index d9f407413..bd6afd22c 100644 --- a/ncgen/ncgeny.c +++ b/ncgen/ncgeny.c @@ -3318,8 +3318,7 @@ makeconstdata(nc_type nctype) #ifdef USE_NETCDF4 case NC_OPAQUE: { char* s; - size_t len; - len = bbLength(lextext); + size_t len = bbLength(lextext); s = (char*)ecalloc(len+1); strncpy(s,bbContents(lextext),len); s[len] = '\0';