This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Fix file name generation in edit_command (was: Ver 6.3 edit command failing)


On Wed, Apr 27, 2005 at 06:48:46PM +0300, Eli Zaretskii wrote:
> Thanks for the tip.  Here's the revised patch:

The rest of this is mostly stylistic; a few comments...

> +  /* If we don't already know the full absolute file name of the
> +     source file, find it now.  */
> +  if (NULL == sal.symtab->fullname)
> +    {
> +      fn = symtab_to_fullname (sal.symtab);
> +      if (NULL == fn)
> +	fn = "unknown";
> +    }
> +  else
> +    fn = sal.symtab->fullname;
> +
> +  /*         $EDITOR      blank  +NN  blank    file      \0 */
> +  cmdlen = strlen(editor) + 1 + log10 + 2 +  strlen(fn) + 1;
>    p = xmalloc(cmdlen);
> -  sprintf(p,"%s +%d %s%s",editor,sal.line,
> -     (NULL == sal.symtab->dirname ? "./" :
> -        (NULL != sal.symtab->filename && *(sal.symtab->filename) != '/') ?
> -	   sal.symtab->dirname : ""),
> -     (NULL == sal.symtab->filename ? "unknown" : sal.symtab->filename)
> -  );
> +  sprintf (p, "%s +%d %s", editor, sal.line, fn);

It strikes me as odd that you can use "edit" if GDB doesn't know where
the source file is.  I realize this is a pre-existing condition, but...
Also, symtab_to_fullname includes the cached fullname check.  So what's
your opinion of boiling the whole thing down to:

  fn = symtab_to_fullname (sal.symtab);
  if (fn == NULL)
    error (_("Could not find file \"%s\""), sal.symtab->filename);
  p = xstrprintf ("%s +%d %s", editor, sal.line, fn);

Mark, can I have those bonus points? :-)

-- 
Daniel Jacobowitz
CodeSourcery, LLC


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]