• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/dtrace-118.1/tools/ctfconvert/

Lines Matching refs:sp

57 strtab_grow(strtab_t *sp)
59 sp->str_nbufs++;
60 sp->str_bufs = xrealloc(sp->str_bufs, sp->str_nbufs * sizeof (char *));
61 sp->str_ptr = xmalloc(sp->str_bufsz);
62 sp->str_bufs[sp->str_nbufs - 1] = sp->str_ptr;
66 strtab_create(strtab_t *sp)
68 sp->str_hash = xcalloc(STRTAB_HASHSZ * sizeof (strhash_t *));
69 sp->str_hashsz = STRTAB_HASHSZ;
70 sp->str_bufs = NULL;
71 sp->str_ptr = NULL;
72 sp->str_nbufs = 0;
73 sp->str_bufsz = STRTAB_BUFSZ;
74 sp->str_nstrs = 1;
75 sp->str_size = 1;
77 strtab_grow(sp);
78 *sp->str_ptr++ = '\0';
82 strtab_destroy(strtab_t *sp)
87 for (i = 0; i < sp->str_hashsz; i++) {
88 for (hp = sp->str_hash[i]; hp != NULL; hp = hq) {
94 for (i = 0; i < sp->str_nbufs; i++)
95 free(sp->str_bufs[i]);
97 free(sp->str_hash);
98 free(sp->str_bufs);
122 strtab_compare(strtab_t *sp, strhash_t *hp, const char *str, size_t len)
130 if (buf == sp->str_bufs[b] + sp->str_bufsz)
131 buf = sp->str_bufs[++b];
133 resid = sp->str_bufs[b] + sp->str_bufsz - buf;
148 strtab_copyin(strtab_t *sp, const char *str, size_t len)
150 ulong_t b = sp->str_nbufs - 1;
154 if (sp->str_ptr == sp->str_bufs[b] + sp->str_bufsz) {
155 strtab_grow(sp);
159 resid = sp->str_bufs[b] + sp->str_bufsz - sp->str_ptr;
161 bcopy(str, sp->str_ptr, n);
163 sp->str_ptr += n;
170 strtab_insert(strtab_t *sp, const char *str)
179 h = strtab_hash(str, &len) % sp->str_hashsz;
185 for (hp = sp->str_hash[h]; hp != NULL; hp = hp->str_next) {
186 if (strtab_compare(sp, hp, str, len + 1) == 0)
196 hp->str_data = sp->str_ptr;
197 hp->str_buf = sp->str_nbufs - 1;
198 hp->str_off = sp->str_size;
200 hp->str_next = sp->str_hash[h];
202 sp->str_hash[h] = hp;
208 strtab_copyin(sp, str, len + 1);
209 sp->str_nstrs++;
210 sp->str_size += len + 1;
216 strtab_size(const strtab_t *sp)
218 return (sp->str_size);
222 strtab_write(const strtab_t *sp,
229 for (i = 0; i < sp->str_nbufs; i++, total += res) {
230 if (i == sp->str_nbufs - 1)
231 n = sp->str_ptr - sp->str_bufs[i];
233 n = sp->str_bufsz;
235 if ((res = func(sp->str_bufs[i], n, priv)) <= 0)
239 if (total == 0 && sp->str_size != 0)
246 strtab_print(const strtab_t *sp)
251 for (i = 0; i < sp->str_hashsz; i++) {
252 for (hp = sp->str_hash[i]; hp != NULL; hp = hp->str_next) {
260 if (buf == sp->str_bufs[b] + sp->str_bufsz)
261 buf = sp->str_bufs[++b];
263 resid = sp->str_bufs[b] + sp->str_bufsz - buf;