Lines Matching defs:spec
43 char *spec; /* Parsing modifies this. */
90 sym_id_add (const char *spec, Table_Id which_table)
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 (char *spec, Sym *sym)
123 colon = strrchr (spec, ':');
129 if (colon > spec)
131 sym->file = source_file_lookup_name (spec);
137 spec = colon + 1;
139 if (strlen (spec))
141 if (ISDIGIT (spec[0]))
142 sym->line_num = atoi (spec);
144 sym->name = spec;
147 else if (strlen (spec))
149 /* No colon: spec is a filename if it contains a dot. */
150 if (strchr (spec, '.'))
152 sym->file = source_file_lookup_name (spec);
157 else if (ISDIGIT (*spec))
159 sym->line_num = atoi (spec);
161 else if (strlen (spec))
163 sym->name = spec;
169 /* A symbol id has the syntax SPEC[/SPEC], where SPEC is is defined
177 DBG (IDDEBUG, printf ("[parse_id] %s -> ", id->spec));
179 slash = strchr (id->spec, '/');
186 parse_spec (id->spec, &id->left.sym);