Lines Matching refs:dp

548 	register Ssfield_t*	dp;
565 bp = dp = 0;
583 bp = ep = dp;
584 dp = 0;
586 else if ((flags & LEX_JOIN) && (ep->offset + ep->size) == dp->offset && !dp->value && !ep->value && dp->reverse == ep->reverse)
587 ep->size += dp->size;
590 ep = ep->next = dp;
591 dp = 0;
593 if (!dp && !(dp = vmnewof(ss->vm, 0, Ssfield_t, 1, 0)))
636 if (!(dp->value = vmnewof(ss->vm, 0, char, n * c, 1)))
644 for (v = dp->value; s < e; s += 8)
646 c = v - dp->value;
650 for (v = dp->value; s < e; s += 2)
652 c = v - dp->value;
656 strcpy(dp->value, s);
657 dp->value[c] = 0;
658 c = stresc(dp->value);
660 ccmapcpy(map, dp->value, dp->value, c);
662 z += (dp->size = n * c);
663 s = dp->value;
665 memcpy(s += c, dp->value, c);
676 if (!(dp->value = vmnewof(ss->vm, 0, char, n, 0)))
682 z += (dp->size = n);
684 dp->value[n] = c;
692 dp->offset = n - 1;
695 z += (dp->size = n);
712 else if (dp->type = type(ss, s, 0))
727 dp->reverse = 1;
751 bp = dp;
752 else if ((flags & LEX_JOIN) && (ep->offset + ep->size) == dp->offset && !dp->value && !ep->value && dp->reverse == ep->reverse)
753 ep->size += dp->size;
755 ep->next = dp;
769 options(Ss_t* ss, int flags, Ssfile_t* fp, Ssfield_t** dp, int tuple, size_t* zp)
776 if (dp)
777 *dp = 0;
811 if (dp && !(*dp = fields(ss, tuple, flags, zp)) && ss->copy == n)
818 for (ip = *dp; ip; ip = ip->next)
925 register Ssfield_t* dp;
960 else if (!(dp = vmnewof(ss->vm, 0, Ssfield_t, 1, 0)))
968 xp->left.field = dp;
972 dp->offset = strtol(s, &e, 10);
991 dp->offset--;
992 dp->size = strtoul(s, &e, 10);
1004 dp->type = type(ss, s, 1);
1011 dp->type = lp->left.field->type;
1012 dp->size = lp->left.field->size;
1027 dp->size = e - s;
1028 if (!(dp->value = vmnewof(ss->vm, 0, char, dp->size, 1)))
1034 memcpy(dp->value, s, dp->size);
1035 dp->size = stresc(dp->value);
1037 ccmapstr(map, dp->value, dp->size);
1050 dp->size = (e - s + 1) / 2;
1051 if (!(dp->value = vmnewof(ss->vm, 0, char, dp->size, 0)))
1057 for (v = dp->value; s < e; s += 2)
1071 dp->size = (e - s + 7) / 8;
1072 if (!(dp->value = vmnewof(ss->vm, 0, char, dp->size, 0)))
1078 for (v = dp->value; s < e; s += 8)
1227 register Ssfield_t* dp;
1253 dp = xp->right.expr->left.field;
1254 if (!dp->type)
1255 dp->type = xp->left.expr->left.field->type;
1256 if (xp->right.expr->op == SS_OP_value && !dp->value)
1258 if (!(v = vmnewof(ss->vm, 0, char, dp->size, 1)))
1264 dp->value = v;
1265 s = v + dp->size - 1;
1266 n = dp->offset;
1267 dp->offset = 0;
1268 switch (dp->type)
1317 dp->type = SS_void;
1321 (*ss->disc->errorf)(NiL, ss->disc, 2, "%c: numeric constant type not supported", dp->type);
1519 Ssfield_t* dp;
1732 for (dp = ss->sum; dp; dp = dp->next)
1733 if (!dp->type)
1734 dp->type = n;
1774 * return sort(1) key for dp
1775 * dp==0 returns the fixed record key
1780 sskey(Ss_t* ss, Ssfield_t* dp)
1784 if (dp)
1786 sfprintf(ss->key, ".%u.%u", dp->offset + 1, dp->size);
1787 switch (dp->type)
1808 if (dp->reverse)
1880 listfields(Ss_t* ss, Sfio_t* io, Ssfield_t* dp, const char* label)
1885 if (dp)
1890 sfprintf(io, " %4lu %4lu %c %u", dp->offset, dp->size, dp->type ? dp->type : SS_void, dp->reverse);
1891 if (v = (unsigned char*)dp->value)
1894 for (e = v + dp->size; v < e; v++)
1898 } while (dp = dp->next);
1943 Ssfield_t* dp;
1977 for (dp = ss->sort; dp; dp = dp->next)
1978 if (s = sskey(ss, dp))
2003 register Ssfield_t* dp;
2008 if (!(dp = fp->out))
2023 s = dp->value ? (unsigned char*)dp->value : ((unsigned char*)buf + dp->offset);
2024 switch (dp->size)
2035 memcpy(t, s, dp->size);
2036 t += dp->size;
2039 } while (dp = dp->next);
2062 register Ssfield_t* dp;
2070 if (dp = fp->out)
2098 if (dp)
2102 s = dp->value ? (unsigned char*)dp->value : ((unsigned char*)buf + dp->offset);
2103 switch (dp->size)
2114 memcpy(t, s, dp->size);
2115 t += dp->size;
2118 } while (dp = dp->next);
2139 * sum buf into out according to field list dp
2143 sssum(Ss_t* ss, register Ssfield_t* dp, const char* buf, size_t size, char* out)
2155 s = (unsigned char*)buf + dp->offset;
2156 t = (unsigned char*)out + dp->offset;
2157 switch (dp->type)
2160 se = s + dp->size - 1;
2161 te = t + dp->size - 1;
2211 te = t + dp->size - 1;
2236 for (i = 0; i < dp->size; i++)
2238 for (i = dp->size - 1; i >= 0; i--)
2246 for (i = dp->size - 1; i >= 0; i--)
2248 for (i = 0; i < dp->size; i++)
2255 se = s + dp->size - 1;
2256 te = t + dp->size - 1;
2281 te = t + dp->size - 1;
2331 for (i = 0; i < dp->size; i++)
2341 for (i = 0; i < dp->size; i++)
2351 for (i = 0; i < dp->size; i++)
2361 for (i = 0; i < dp->size; i++)
2371 for (i = 0; i < dp->size; i++)
2381 for (i = 0; i < dp->size; i++)
2391 (*ss->disc->errorf)(NiL, ss->disc, 2, "%c: sum type not supported", dp->type);
2394 } while (dp = dp->next);