Lines Matching defs:physical

81 struct Physical_s			/* physical field info		*/
85 Cxarray_t* array; /* physical array info */
115 Physical_t physical; /* physical field info */
125 unsigned char* map; /* physical.format.code map */
348 d = f->physical.format.delimiter;
357 else if (f->physical.format.escape < 0 && f->physical.format.quotebegin < 0)
365 q = f->physical.format.quotebegin;
366 x = f->physical.format.escape;
370 if (f->physical.format.flags & CX_QUOTEALL)
377 q = f->physical.format.quoteend;
399 q = f->physical.format.quoteend;
408 q = f->physical.format.quotebegin;
446 if (f->physical.format.flags & CX_MULTIPLE)
458 else if (f->physical.format.flags & CX_VARIABLE)
461 n = f->physical.format.width;
479 d = w->field->physical.format.delimiter; /*HERE verify*/
553 if (w->field->physical.format.width && n > w->field->physical.format.width)
556 (*r->dss->disc->errorf)(r->dss, r->dss->disc, 1, "%s%s: variable field width %d exceeds fixed maximum %d -- maximum assumed", cxlocation(r->cx, r->record), w->field->variable.name, n, w->field->physical.format.width);
557 w->siz = w->field->physical.format.width;
564 else if (flat->sufficient && w->field->physical.format.width)
565 r->cur = (char*)s + w->field->physical.format.width;
579 else if (w->field->physical.format.flags & CX_VARIABLE)
584 if ((*w->field->physical.type->internalf)(r->cx, w->field->physical.type, NiL, &w->field->physical.format, &w->ret, (char*)s, w->siz, r->cx->rm, r->cx->disc) < 0)
598 if (w->ret.type->generic[x]->base == w->field->physical.type || w->ret.type->generic[x]->base == w->field->physical.type->base)
621 switch (FW(w->field->physical.format.flags,w->field->physical.format.width))
668 if (!(w->siz = w->field->physical.format.width))
670 else if ((w->field->physical.format.flags & (CX_STRING|CX_NUL)) == CX_STRING)
860 m = f->physical.format.width;
871 m += f->physical.format.width;
879 if (((unsigned char*)s)[k] == flat->terminator && (f->physical.format.flags & CX_STRING))
899 f->truncate = f->physical.format.width;
900 m = k + f->physical.format.width;
958 f->physical.format.width = i - r->fields[f->variable.index].off - 1;
961 p->physical.format.width = 0;
967 r->fields[j].field->physical.format.width = r->fields[j].field->truncate;
1033 while ((n = (*f->physical.type->externalf)(r->cx, f->physical.type, NiL, &f->physical.format, &v->value, flat->valbuf, flat->valsiz, r->cx->disc)) > flat->valsiz)
1048 if ((f->physical.format.flags & (CX_STRING|CX_BUFFER)) && f->physical.format.delimiter >= 0 && (f->physical.format.escape >= 0 || f->physical.format.quotebegin >= 0))
1050 if (f->physical.format.flags & CX_QUOTEALL)
1053 sfputc(file->io, f->physical.format.quotebegin);
1058 if (*s == f->physical.format.delimiter || *s == f->physical.format.escape || *s == f->physical.format.quotebegin || *s == f->physical.format.quoteend)
1060 if (f->physical.format.escape >= 0)
1063 sfputc(file->io, f->physical.format.escape);
1066 else if (*s == f->physical.format.delimiter)
1072 sfputc(file->io, f->physical.format.quotebegin);
1087 if (q && !(f->physical.format.flags & CX_QUOTEALL))
1090 sfputc(file->io, f->physical.format.quoteend);
1094 sfputc(file->io, f->physical.format.quoteend);
1099 else if (flat->emptyspace && f->physical.format.delimiter >= 0)
1101 if (f->physical.format.delimiter >= 0)
1102 sfputc(file->io, f->physical.format.delimiter);
1317 f->physical.format.width = 0;
1318 f->physical.format.delimiter = -1;
1320 else if ((off + f->physical.format.width) >= flat->fixed)
1322 f->physical.format.width = flat->fixed - off;
1323 f->physical.format.delimiter = -1;
1327 off += r->fields[i].siz = f->physical.format.width;
1328 if (f->physical.format.delimiter >= 0)
1615 flat->lastfield->physical.type = t;
1820 " are used as physical defaults.",
1834 if (!flat->lastfield->physical.array && !(flat->lastfield->physical.array = newof(0, Cxarray_t, 1, 0)))
1840 flat->array = flat->lastfield->physical.array;
2102 " are used as physical defaults.",
2166 flat->format = &flat->lastfield->physical.format;
2228 f->variable.format.delimiter = f->physical.format.delimiter = flat->delimiter;
2229 f->variable.format.flags = f->physical.format.flags = flat->flags;
2230 f->variable.format.escape = f->physical.format.escape = flat->escape;
2231 f->variable.format.quotebegin = f->physical.format.quotebegin = flat->quotebegin;
2232 f->variable.format.quoteend = f->physical.format.quoteend = flat->quoteend;
2233 f->variable.format.code = f->physical.format.code = CC_NATIVE;
2336 "TYPE", "Size field physical type. The types are:"
3002 "PHYSICAL", "Default physical record and field attributes.",
3231 if (!(s = (char*)f->physical.type))
3232 f->physical.type = f->variable.type;
3233 else if (!(f->physical.type = cxtype(flat->meth.cx, s, disc)))
3239 defaults(f->physical.type, &f->physical.format, flat->binary, disc);
3240 if (!f->physical.format.delimiter)
3241 f->physical.format.delimiter = f->variable.format.delimiter;
3242 if (!(f->physical.format.flags & (CX_INTEGER|CX_FLOAT|CX_STRING|CX_BUFFER)))
3243 f->physical.format.flags |= f->variable.format.flags & (CX_BINARY|CX_UNSIGNED|CX_INTEGER|CX_FLOAT|CX_STRING|CX_BUFFER|CX_NUL);
3244 if (f->physical.format.flags & CX_BINARY)
3246 if (!f->variable.format.width && f->physical.type)
3247 f->variable.format.width = f->physical.type->format.width;
3249 else if (!f->physical.format.map)
3250 f->physical.format.map = f->variable.format.map;
3251 if (f->physical.format.flags & CX_BUFFER)
3255 flat->terminator = flat->lastfield->physical.format.delimiter;
3268 if (!(f->physical.format.flags & (CX_BINARY|CX_STRING|CX_BUFFER)))
3270 if (f->physical.format.delimiter < 0 && !f->physical.format.width && !f->width && !f->keyed)
3284 if (f->physical.format.width || f->width)
3296 if (f->physical.format.delimiter == flat->terminator && f != flat->lastfield)
3298 if (f->physical.format.width)
3300 flat->fixed += f->physical.format.width;
3306 if (f->physical.format.quotebegin >= 0 && f->physical.format.quoteend < 0)
3307 f->physical.format.quoteend = f->physical.format.quotebegin;
3308 if (f->physical.format.quotebegin < 0)
3309 f->physical.format.flags &= ~CX_QUOTEALL;
3310 f->map = ccmap(f->physical.format.code, CC_NATIVE);
3328 if (f->width && f->physical.format.width)
3332 n -= g->physical.format.width;
3336 (*disc->errorf)(NiL, disc, 1, "%s: maximum variable field size shortened from %d to %d to comply with fixed record size %d", f->variable.name, f->physical.format.width, n, flat->record->reserve);
3337 f->physical.format.width = n;
3342 n -= f->physical.format.width;
3391 if ((n = f->variable.format.delimiter) < 0 && (n = f->physical.format.delimiter) < 0)
3461 offset += m * f->physical.format.width;
3515 else if ((f->variable.format.flags & CX_STRING) || !(f->physical.format.flags & CX_BINARY))
3520 if (f->physical.format.width > 1)
3521 n += sfprintf(sfstdout, "[%u];", f->physical.format.width);
3535 n += sfprintf(sfstdout, "%u_t", f->physical.format.width);
3538 if ((offset % f->physical.format.width) && !cxisvoid(f->variable.type))
3542 (*disc->errorf)(NiL, disc, 1, "%s: field size %u offset %u is not aligned", f->variable.name, f->physical.format.width, offset);
3545 offset += m * f->physical.format.width;
3547 if (f->physical.format.delimiter >= 0)
3554 tmp[0] = f->physical.format.delimiter;
3654 else if ((f->variable.format.flags & CX_STRING) || !(f->physical.format.flags & CX_BINARY))
3659 if (f->physical.format.width > 1)
3660 n += sfprintf(sfstdout, "[%u];", f->physical.format.width);
3674 n += sfprintf(sfstdout, "%u_t", f->physical.format.width);
3677 if ((offset % f->physical.format.width) && !cxisvoid(f->variable.type))
3681 (*disc->errorf)(NiL, disc, 1, "%s: field size %u offset %u is not aligned", f->variable.name, f->physical.format.width, offset);
3684 offset += m * f->physical.format.width;
3692 if (f->physical.format.delimiter >= 0)
3699 tmp[0] = f->physical.format.delimiter;
3747 if ((f->variable.format.flags & CX_BINARY) && ((offset % f->physical.format.width) || (f->physical.format.width & (f->physical.format.width - 1)) || f->physical.format.width > 8) || f->width)
3749 offset += f->physical.format.width;
3970 if ((g = (Field_t*)dtmatch(cx->variables, f->variable.name)) && g->physical.format.code != f->physical.format.code && g->physical.format.code == CC_NATIVE)
3971 f->pam = ccmap(g->physical.format.code, f->physical.format.code);
3972 if (fixed && (f->variable.format.flags & CX_BINARY) && (offset % f->physical.format.width))
3975 (*disc->errorf)(NiL, disc, 2, "%s: field size %u offset %u is not aligned", f->variable.name, f->physical.format.width, offset);
3978 offset += f->physical.format.width;
4020 while ((n = (*f->physical.type->externalf)(flatten->cx, f->physical.type, NiL, &f->physical.format, v, flatten->flat->valbuf, flatten->flat->valsiz, disc)) > flatten->flat->valsiz)
4037 if ((f->physical.format.flags & (CX_STRING|CX_BUFFER)) && f->physical.format.delimiter >= 0 && (f->physical.format.escape >= 0 || f->physical.format.quotebegin >= 0))
4039 if (f->physical.format.flags & CX_QUOTEALL)
4042 sfputc(flatten->file->io, f->physical.format.quotebegin);
4047 if (*s == f->physical.format.delimiter || *s == f->physical.format.escape || *s == f->physical.format.quotebegin || *s == f->physical.format.quoteend)
4049 if (f->physical.format.escape >= 0)
4052 sfputc(flatten->file->io, f->physical.format.escape);
4055 else if (*s == f->physical.format.delimiter)
4061 sfputc(flatten->file->io, f->physical.format.quotebegin);
4076 if (q && !(f->physical.format.flags & CX_QUOTEALL))
4079 sfputc(flatten->file->io, f->physical.format.quoteend);
4083 sfputc(flatten->file->io, f->physical.format.quoteend);
4088 else if (flatten->emptyspace && f->physical.format.delimiter >= 0)
4090 if (f->physical.format.delimiter >= 0)
4091 sfputc(flatten->file->io, f->physical.format.delimiter);