[patch 2/9] Code cleanup: Drop IS_ABSOLUTE_PATH checks

Jan Kratochvil jan.kratochvil@redhat.com
Sat Jan 19 14:09:00 GMT 2013


On Sat, 19 Jan 2013 07:50:13 +0100, Eli Zaretskii wrote:
> > Could you give an example?  Previously it was forbidden/unspecified what
> > happens when you call compare_filenames_for_search
> > with IS_ABSOLUTE_PATH (search_name).
> 
> Any absolute file name would be an example.

Could you state literal SEARCH_NAME, literal FILENAME, what is a result you
expect and what do you you think is the actual result with this patch?

I have double/triple checked this patch and I do not see a bug there.


> > I hope we agree that placing a breakpoint to
> > 	/filename.c:main 
> > should not be successful even if one of the source files is named:
> > 	/path/to//filename.c
> 
> Yes, we do.  But IS_ABSOLUTE_PATH tests more than just whether there's
> a slash at the beginning of "/filename.c".  I'm saying we should test
> explicitly for the slash, not for the file name being absolute.  IOW,
> using IS_ABSOLUTE_PATH here obfuscates the real intent of the code.

I think IS_ABSOLUTE_PATH is there really right, we need to test if the
SEARCH_NAME should match from the beginning of FILENAME or if it can match
only its trailing part.

For example when asking for a breakpoint at:
	c:\filename.c:main
it must not match a debug info filename:
	d:\foo\c:\filename.c
This case would incorrectly match if only 'IS_DIR_SEPARATOR (search_name[0])'
was tested there.

Moreover this patch is a "Code cleanup" and the callers were already using
IS_ABSOLUTE_PATH.  So if IS_ABSOLUTE_PATH is wrong (which IMO so far it is
not) then it is still a new patch / unrelated fix, not the scope of this
patch.


Thanks,
Jan



More information about the Gdb-patches mailing list