Lines Matching full:spec
34 char *spec; /* Parsing modifies this. */ member
87 sym_id_add (spec, which_table) in sym_id_add() argument
88 const char *spec; in sym_id_add()
92 int len = strlen (spec);
97 id->spec = (char *) id + sizeof (*id);
98 strcpy (id->spec, spec);
106 /* A spec has the syntax FILENAME:(FUNCNAME|LINENUM). As a convenience
107 to the user, a spec without a colon is interpreted as:
117 parse_spec (spec, sym) in parse_spec() argument
118 char *spec; in parse_spec()
124 colon = strrchr (spec, ':');
130 if (colon > spec)
132 sym->file = source_file_lookup_name (spec);
138 spec = colon + 1;
140 if (strlen (spec))
142 if (ISDIGIT (spec[0]))
143 sym->line_num = atoi (spec);
145 sym->name = spec;
148 else if (strlen (spec))
150 /* No colon: spec is a filename if it contains a dot. */
151 if (strchr (spec, '.'))
153 sym->file = source_file_lookup_name (spec);
158 else if (ISDIGIT (*spec))
160 sym->line_num = atoi (spec);
162 else if (strlen (spec))
164 sym->name = spec;
170 /* A symbol id has the syntax SPEC[/SPEC], where SPEC is is defined
179 DBG (IDDEBUG, printf ("[parse_id] %s -> ", id->spec));
181 slash = strchr (id->spec, '/');
188 parse_spec (id->spec, &id->left.sym);