PR gdb/12843

* linespec.c (locate_first_half): Keep ':' if it looks
	like it could be part of a Windows path starting with
	a drive letter.
This commit is contained in:
Keith Seitz 2011-11-11 19:52:46 +00:00
parent a4b5b48aa8
commit 731971ed4b
2 changed files with 18 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2011-11-11 Keith Seitz <keiths@redhat.com>
PR gdb/12843
* linespec.c (locate_first_half): Keep ':' if it looks
like it could be part of a Windows path starting with
a drive letter.
2011-11-10 Pedro Alves <pedro@codesourcery.com>
* linux-nat.c (linux_nat_wait): Don't force waking up the event

View File

@ -43,6 +43,7 @@
#include "arch-utils.h"
#include <ctype.h>
#include "cli/cli-utils.h"
#include "filenames.h"
/* Prototypes for local functions. */
@ -1194,6 +1195,16 @@ locate_first_half (char **argptr, int *is_quote_enclosed)
++p;
}
}
/* Check for a drive letter in the filename. This is done on all hosts
to capture cross-compilation environments. On Unixen, directory
separators are illegal in filenames, so if the user enters "e:/foo.c",
he is referring to a directory named "e:" and a source file named
"foo.c", and we still want to keep these two pieces together. */
if (isalpha (p[0]) && p[1] == ':' && IS_DIR_SEPARATOR (p[2]))
p += 3;
for (; *p; p++)
{
if (p[0] == '<')