Lines Matching refs:spec
35 char *spec; /* Parsing modifies this. */
88 sym_id_add (const char *spec, Table_Id which_table)
91 int len = strlen (spec);
96 id->spec = (char *) id + sizeof (*id);
97 strcpy (id->spec, spec);
105 /* A spec has the syntax FILENAME:(FUNCNAME|LINENUM). As a convenience
106 to the user, a spec without a colon is interpreted as:
116 parse_spec (char *spec, Sym *sym)
121 colon = strrchr (spec, ':');
127 if (colon > spec)
129 sym->file = source_file_lookup_name (spec);
135 spec = colon + 1;
137 if (strlen (spec))
139 if (ISDIGIT (spec[0]))
140 sym->line_num = atoi (spec);
142 sym->name = spec;
145 else if (strlen (spec))
147 /* No colon: spec is a filename if it contains a dot. */
148 if (strchr (spec, '.'))
150 sym->file = source_file_lookup_name (spec);
155 else if (ISDIGIT (*spec))
157 sym->line_num = atoi (spec);
159 else if (strlen (spec))
161 sym->name = spec;
175 DBG (IDDEBUG, printf ("[parse_id] %s -> ", id->spec));
177 slash = strchr (id->spec, '/');
184 parse_spec (id->spec, &id->left.sym);