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) ...@@ -199,31 +199,39 @@ static int source_display(const char* sourcefile, int start, int end)
if (dbg_interactiveP) if (dbg_interactiveP)
{ {
char zbuf[256]; 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 * OK, I guess the user doesn't really want to see it
* after all. * after all.
*/ */
ol = source_add_file(sourcefile, NULL); ol = source_add_file(sourcefile, NULL);
dbg_printf("Unable to open file '%s'\n", tmppath);
return FALSE; 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