cvt.c#573setprimlength(NCConstantprim, unsigned long len)
#575    ASSERT(isprimplus(prim->nctype));
#576    if(prim->nctype == NC_STRING) {
#577        if(prim->value.stringv.len == len) {
#579        } else if(prim->value.stringv.len > len) { /* truncate*/
#580     prim->value.stringv.stringv[len] = '\0';
#581     prim->value.stringv.len = len;
#587     memcpy(s,prim->value.stringv.stringv,prim->value.stringv.len);
#588     efree(prim->value.stringv.stringv);
#589     prim->value.stringv.stringv = s;
#590            prim->value.stringv.len = len;
#592    } else if(prim->nctype == NC_OPAQUE) {
#596        if(prim->value.opaquev.len == len) {
#598        } else if(prim->value.opaquev.len > len) { /* truncate*/
#599     prim->value.opaquev.stringv[len] = '\0';
#600     prim->value.opaquev.len = len;
#605     memcpy(s,prim->value.opaquev.stringv,prim->value.opaquev.len);
#607     efree(prim->value.opaquev.stringv);
#608     prim->value.opaquev.stringv=s;
#609     prim->value.opaquev.len = len;
data.c#445alignbuffer(NCConstantprimBytebufferbuf)
#449    if(prim->nctype == NC_ECONST)
#450        alignment = nctypealignment(prim->value.enumv->typ.typecode);
#451    else if(usingclassic && prim->nctype == NC_STRING)
#453    else if(prim->nctype == NC_CHAR)
#456        alignment = nctypealignment(prim->nctype);
data.h#140void alignbuffer(struct NCConstantprimBytebufferbuf);
generate.c#442normalizeopaquelength(NCConstantprim, unsigned long nbytes)
#445    ASSERT(prim->nctype==NC_OPAQUE);
#446    if(prim->value.opaquev.len == nnibs) {
#448    } else if(prim->value.opaquev.len > nnibs) { /* truncate*/
#449        prim->value.opaquev.stringv[nnibs] = '\0';
#450        prim->value.opaquev.len = nnibs;
#455        memcpy(s,prim->value.opaquev.stringv,prim->value.opaquev.len);
#457        efree(prim->value.opaquev.stringv);
#458        prim->value.opaquev.stringv=s;
#459        prim->value.opaquev.len = nnibs;
#464generate_primdata(SymbolbasetypeNCConstantprimBytebuffercodebuf,
#470    if(prim == NULL || isfillconst(prim)) {
#473        prim = datalistith(fill,0);
#476    ASSERT((prim->nctype != NC_COMPOUND));
#480    switch (prim->nctype) {
#510            Symbolec = prim->value.enumv;
#520        semerror(constline(prim),"Data value is not consistent with the expected type: %s",
#527        convert1(prim,&target);
#533            semerror(constline(prim),"Conversion to enum not supported (yet)");
genlib.h#89extern void setprimlength(NCConstantprim, unsigned long len);
semantics.c#113 Symbolprim = basetypefor(i);
#114 if(prim == NULL) continue;
#115         if(strcmp(refsym->name,prim->name)==0) {
#116     sym = prim;


HyperKWIC - Version 7.20DA executed at 11:37 on 27 Oct 2017 | Polyhedron Solutions - INTERNAL USE | COMMERCIAL (Any O/S) SN 4AKIed