Commit 1adbe826 authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

winedbg: Display a valid source file when reporting an error about a missing source file.

parent 77eefaed
......@@ -199,31 +199,39 @@ static int source_display(const char* sourcefile, int start, int end)
if (dbg_interactiveP)
{
char zbuf[256];
/*
* Still couldn't find it. Ask user for path to add.
*/
snprintf(zbuf, sizeof(zbuf), "Enter path to file '%s': ", sourcefile);
input_read_line(zbuf, tmppath, sizeof(tmppath));
if (tmppath[strlen(tmppath) - 1] != '/')
for (;;)
{
strcat(tmppath, "/");
size_t len;
/*
* Still couldn't find it. Ask user for path to add.
*/
snprintf(zbuf, sizeof(zbuf), "Enter path to file '%s' (<cr> to end search): ", sourcefile);
input_read_line(zbuf, tmppath, sizeof(tmppath));
if (!(len = strlen(tmppath))) break;
/* append '/' if missing at the end */
if (tmppath[len - 1] != '/' && tmppath[len - 1] != '\\')
tmppath[len++] = '/';
strcpy(&tmppath[len], basename);
if (GetFileAttributesA(tmppath) != INVALID_FILE_ATTRIBUTES)
break;
dbg_printf("Unable to access file '%s'\n", tmppath);
}
/*
* Now append the base file name.
*/
strcat(tmppath, basename);
}
else tmppath[0] = '\0';
else
{
dbg_printf("Unable to access file '%s'\n", sourcefile);
tmppath[0] = '\0';
}
if (GetFileAttributesA(tmppath) == INVALID_FILE_ATTRIBUTES)
if (!tmppath[0])
{
/*
* OK, I guess the user doesn't really want to see it
* after all.
*/
ol = source_add_file(sourcefile, NULL);
dbg_printf("Unable to open file '%s'\n", tmppath);
return FALSE;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment