Lines Matching refs:spec
35 char *spec; /* Parsing modifies this. */
88 sym_id_add (spec, which_table)
89 const char *spec;
93 int len = strlen (spec);
98 id->spec = (char *) id + sizeof (*id);
99 strcpy (id->spec, spec);
107 /* A spec has the syntax FILENAME:(FUNCNAME|LINENUM). As a convenience
108 to the user, a spec without a colon is interpreted as:
118 parse_spec (spec, sym)
119 char *spec;
125 colon = strrchr (spec, ':');
131 if (colon > spec)
133 sym->file = source_file_lookup_name (spec);
139 spec = colon + 1;
141 if (strlen (spec))
143 if (ISDIGIT (spec[0]))
144 sym->line_num = atoi (spec);
146 sym->name = spec;
149 else if (strlen (spec))
151 /* No colon: spec is a filename if it contains a dot. */
152 if (strchr (spec, '.'))
154 sym->file = source_file_lookup_name (spec);
159 else if (ISDIGIT (*spec))
161 sym->line_num = atoi (spec);
163 else if (strlen (spec))
165 sym->name = spec;
180 DBG (IDDEBUG, printf ("[parse_id] %s -> ", id->spec));
182 slash = strchr (id->spec, '/');
189 parse_spec (id->spec, &id->left.sym);