Lines Matching refs:new_field

63       insn_field_entry *new_field;  in parse_insn_word()  local
66 new_field = ZALLOC (insn_field_entry); in parse_insn_word()
67 new_field->next = word->last; in parse_insn_word()
68 new_field->prev = word->last->prev; in parse_insn_word()
69 new_field->next->prev = new_field; in parse_insn_word()
70 new_field->prev->next = new_field; in parse_insn_word()
71 new_field->word_nr = word_nr; in parse_insn_word()
173 && new_field->conditions != NULL) in parse_insn_word()
174 || (new_field->conditions != NULL in parse_insn_word()
175 && new_field->conditions->test == insn_field_cond_eq)) in parse_insn_word()
180 insn_field_cond **last = &new_field->conditions; in parse_insn_word()
200 new_field->val_string = NZALLOC (char, strlen_val + 1); in parse_insn_word()
201 strncpy (new_field->val_string, start_val, strlen_val); in parse_insn_word()
202 if (isdigit (new_field->val_string[0])) in parse_insn_word()
212 if (new_field->val_string[i] != '0' in parse_insn_word()
213 && new_field->val_string[i] != '1') in parse_insn_word()
215 new_field->val_string); in parse_insn_word()
216 val = (val << 1) + (new_field->val_string[i] == '1'); in parse_insn_word()
218 new_field->val_int = val; in parse_insn_word()
219 new_field->type = insn_field_int; in parse_insn_word()
223 new_field->val_int = a2i (new_field->val_string); in parse_insn_word()
224 new_field->type = insn_field_int; in parse_insn_word()
227 else if (new_field->val_string[0] == '/') in parse_insn_word()
229 new_field->type = insn_field_reserved; in parse_insn_word()
231 else if (new_field->val_string[0] == '*') in parse_insn_word()
233 new_field->type = insn_field_wild; in parse_insn_word()
237 new_field->type = insn_field_string; in parse_insn_word()
238 if (filter_is_member (word->field_names, new_field->val_string)) in parse_insn_word()
240 new_field->val_string); in parse_insn_word()
241 filter_parse (&word->field_names, new_field->val_string); in parse_insn_word()
243 if (new_field->type != insn_field_string in parse_insn_word()
244 && new_field->conditions != NULL) in parse_insn_word()
248 new_field->pos_string = NZALLOC (char, strlen_pos + 1); in parse_insn_word()
249 strncpy (new_field->pos_string, start_pos, strlen_pos); in parse_insn_word()
252 new_field->first = new_field->prev->last + 1; in parse_insn_word()
253 if (new_field->first == 0 /* first field */ in parse_insn_word()
255 && new_field->type == insn_field_string) in parse_insn_word()
259 new_field->width = options.insn_bit_size; in parse_insn_word()
265 new_field->width = strlen_val; in parse_insn_word()
267 new_field->last = new_field->first + new_field->width - 1; in parse_insn_word()
268 if (new_field->last >= options.insn_bit_size) in parse_insn_word()
270 new_field->last, options.insn_bit_size); in parse_insn_word()
274 new_field->first = new_field->prev->last + 1; in parse_insn_word()
275 new_field->width = a2i (new_field->pos_string); in parse_insn_word()
276 new_field->last = new_field->first + new_field->width - 1; in parse_insn_word()
277 if (new_field->last >= options.insn_bit_size) in parse_insn_word()
279 new_field->last, options.insn_bit_size); in parse_insn_word()
283 new_field->first = target_a2i (options.hi_bit_nr, in parse_insn_word()
284 new_field->pos_string); in parse_insn_word()
285 new_field->last = new_field->next->first - 1; /* guess */ in parse_insn_word()
286 new_field->width = new_field->last - new_field->first + 1; /* guess */ in parse_insn_word()
287 new_field->prev->last = new_field->first - 1; /*fix */ in parse_insn_word()
288 new_field->prev->width = new_field->first - new_field->prev->first; /*fix */ in parse_insn_word()