This is the mail archive of the gdb@sourceware.org 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: decode_variable's use of not_found_ptr


On 22 April 2006 09:06, Greg Law wrote:


> but at the bottom of the function it says:
> 
> 
>   if (not_found_ptr)
>     *not_found_ptr = 1;
>   throw_error (NOT_FOUND_ERROR, _("Function \"%s\" not defined."), copy);
> 
> 
> Now, I must confess gdb's internal exception mechanism is deeply
> mysterious to me, but that code looks to me like it doesn't do what the
> comment claims.  i.e. if not_found_ptr is non-NULL, it still issues the
> error message.
> 
> What's wrong - my reading of the code, or the code?

  Well, the code doesn't do what the comment says, that's true.  You can try
putting an 'else' between those lines, but don't forget that you'll now have
to add a return statement for when the error isn't thrown, and you'll have to
return NULL since the lookup has failed, and there may be some call sites that
aren't expecting to receive a NULL return because they've never had to before
because the error was previously always being thrown, so there may be knock-on
effects....

  You could also try looking at the history of the file in CVS, see if that
comment was ever accurate; it's the sort of error that can easily creep in
during minor code tidyups.


    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


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