Cope with setting trace points on symbols which do not have an associated directory.
This commit is contained in:
parent
c3da0ebf3e
commit
e1f1ed1ad7
2 changed files with 29 additions and 11 deletions
|
@ -333,18 +333,26 @@ set_raw_tracepoint (sal)
|
|||
t->source_file = NULL;
|
||||
else
|
||||
{
|
||||
char *p;
|
||||
if (sal.symtab->dirname == NULL)
|
||||
{
|
||||
t->source_file = (char *) xmalloc (strlen (sal.symtab->filename) + 1);
|
||||
strcpy (t->source_file, sal.symtab->filename);
|
||||
}
|
||||
else
|
||||
{
|
||||
char *p;
|
||||
|
||||
t->source_file = (char *) xmalloc (strlen (sal.symtab->filename) +
|
||||
strlen (sal.symtab->dirname) + 2);
|
||||
|
||||
strcpy (t->source_file, sal.symtab->dirname);
|
||||
p = t->source_file;
|
||||
while (*p)
|
||||
p++;
|
||||
if (*(--p) != '/') /* Will this work on Windows? */
|
||||
strcat (t->source_file, "/");
|
||||
strcat (t->source_file, sal.symtab->filename);
|
||||
t->source_file = (char *) xmalloc (strlen (sal.symtab->filename) +
|
||||
strlen (sal.symtab->dirname) + 2);
|
||||
|
||||
strcpy (t->source_file, sal.symtab->dirname);
|
||||
p = t->source_file;
|
||||
while (*p)
|
||||
p++;
|
||||
if (*(--p) != '/') /* Will this work on Windows? */
|
||||
strcat (t->source_file, "/");
|
||||
strcat (t->source_file, sal.symtab->filename);
|
||||
}
|
||||
}
|
||||
|
||||
t->language = current_language->la_language;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue