Lines Matching refs:d

23 void data_free(struct data d)  in data_free()  argument
27 m = d.markers; in data_free()
35 if (d.val) in data_free()
36 free(d.val); in data_free()
39 struct data data_grow_for(struct data d, int xlen) in data_grow_for() argument
45 return d; in data_grow_for()
47 nd = d; in data_grow_for()
51 while ((d.len + xlen) > newsize) in data_grow_for()
54 nd.val = xrealloc(d.val, newsize); in data_grow_for()
61 struct data d; in data_copy_mem() local
63 d = data_grow_for(empty_data, len); in data_copy_mem()
65 d.len = len; in data_copy_mem()
66 memcpy(d.val, mem, len); in data_copy_mem()
68 return d; in data_copy_mem()
74 struct data d; in data_copy_escape_string() local
77 d = data_grow_for(empty_data, len + 1); in data_copy_escape_string()
79 q = d.val; in data_copy_escape_string()
86 q[d.len++] = c; in data_copy_escape_string()
89 q[d.len++] = '\0'; in data_copy_escape_string()
90 return d; in data_copy_escape_string()
95 struct data d = empty_data; in data_copy_file() local
97 while (!feof(f) && (d.len < maxlen)) { in data_copy_file()
103 chunksize = maxlen - d.len; in data_copy_file()
105 d = data_grow_for(d, chunksize); in data_copy_file()
106 ret = fread(d.val + d.len, 1, chunksize, f); in data_copy_file()
111 if (d.len + ret < d.len) in data_copy_file()
114 d.len += ret; in data_copy_file()
117 return d; in data_copy_file()
120 struct data data_append_data(struct data d, const void *p, int len) in data_append_data() argument
122 d = data_grow_for(d, len); in data_append_data()
123 memcpy(d.val + d.len, p, len); in data_append_data()
124 d.len += len; in data_append_data()
125 return d; in data_append_data()
128 struct data data_insert_at_marker(struct data d, struct marker *m, in data_insert_at_marker() argument
131 d = data_grow_for(d, len); in data_insert_at_marker()
132 memmove(d.val + m->offset + len, d.val + m->offset, d.len - m->offset); in data_insert_at_marker()
133 memcpy(d.val + m->offset, p, len); in data_insert_at_marker()
134 d.len += len; in data_insert_at_marker()
140 return d; in data_insert_at_marker()
143 static struct data data_append_markers(struct data d, struct marker *m) in data_append_markers() argument
145 struct marker **mp = &d.markers; in data_append_markers()
151 return d; in data_append_markers()
156 struct data d; in data_merge() local
159 d = data_append_markers(data_append_data(d1, d2.val, d2.len), m2); in data_merge()
168 return d; in data_merge()
171 struct data data_append_integer(struct data d, uint64_t value, int bits) in data_append_integer() argument
181 return data_append_data(d, &value_8, 1); in data_append_integer()
185 return data_append_data(d, &value_16, 2); in data_append_integer()
189 return data_append_data(d, &value_32, 4); in data_append_integer()
193 return data_append_data(d, &value_64, 8); in data_append_integer()
200 struct data data_append_re(struct data d, uint64_t address, uint64_t size) in data_append_re() argument
207 return data_append_data(d, &re, sizeof(re)); in data_append_re()
210 struct data data_append_cell(struct data d, cell_t word) in data_append_cell() argument
212 return data_append_integer(d, word, sizeof(word) * 8); in data_append_cell()
215 struct data data_append_addr(struct data d, uint64_t addr) in data_append_addr() argument
217 return data_append_integer(d, addr, sizeof(addr) * 8); in data_append_addr()
220 struct data data_append_byte(struct data d, uint8_t byte) in data_append_byte() argument
222 return data_append_data(d, &byte, 1); in data_append_byte()
225 struct data data_append_zeroes(struct data d, int len) in data_append_zeroes() argument
227 d = data_grow_for(d, len); in data_append_zeroes()
229 memset(d.val + d.len, 0, len); in data_append_zeroes()
230 d.len += len; in data_append_zeroes()
231 return d; in data_append_zeroes()
234 struct data data_append_align(struct data d, int align) in data_append_align() argument
236 int newlen = ALIGN(d.len, align); in data_append_align()
237 return data_append_zeroes(d, newlen - d.len); in data_append_align()
240 struct data data_add_marker(struct data d, enum markertype type, char *ref) in data_add_marker() argument
245 m->offset = d.len; in data_add_marker()
250 return data_append_markers(d, m); in data_add_marker()
253 bool data_is_one_string(struct data d) in data_is_one_string() argument
256 int len = d.len; in data_is_one_string()
262 if (d.val[i] == '\0') in data_is_one_string()
265 if (d.val[len-1] != '\0') in data_is_one_string()