Lines Matching full:spec
34 char *spec; /* Parsing modifies this. */ member
87 sym_id_add (const char *spec, Table_Id which_table) in sym_id_add() argument
90 int len = strlen (spec); in sym_id_add()
95 id->spec = (char *) id + sizeof (*id); in sym_id_add()
96 strcpy (id->spec, spec); in sym_id_add()
104 /* A spec has the syntax FILENAME:(FUNCNAME|LINENUM). As a convenience
105 to the user, a spec without a colon is interpreted as:
115 parse_spec (char *spec, Sym *sym) in parse_spec() argument
120 colon = strrchr (spec, ':'); in parse_spec()
126 if (colon > spec) in parse_spec()
128 sym->file = source_file_lookup_name (spec); in parse_spec()
134 spec = colon + 1; in parse_spec()
136 if (strlen (spec)) in parse_spec()
138 if (ISDIGIT (spec[0])) in parse_spec()
139 sym->line_num = atoi (spec); in parse_spec()
141 sym->name = spec; in parse_spec()
144 else if (strlen (spec)) in parse_spec()
146 /* No colon: spec is a filename if it contains a dot. */ in parse_spec()
147 if (strchr (spec, '.')) in parse_spec()
149 sym->file = source_file_lookup_name (spec); in parse_spec()
154 else if (ISDIGIT (*spec)) in parse_spec()
156 sym->line_num = atoi (spec); in parse_spec()
158 else if (strlen (spec)) in parse_spec()
160 sym->name = spec; in parse_spec()
166 /* A symbol id has the syntax SPEC[/SPEC], where SPEC is is defined
174 DBG (IDDEBUG, printf ("[parse_id] %s -> ", id->spec)); in parse_id()
176 slash = strchr (id->spec, '/'); in parse_id()
183 parse_spec (id->spec, &id->left.sym); in parse_id()