Commit f699e454 by Elliot Lee Committed by Andrew Haley

re PR java/9677 (File not found if spaces in file name)

2004-08-16  Elliot Lee <sopwith@redhat.com>

        PR java/9677
        * jcf-parse.c (java_parse_file): Handle filenames with embedded
        spaces, and quoted filelists.

From-SVN: r86051
parent 4c46b835
2004-08-16 Elliot Lee <sopwith@redhat.com>
PR java/9677
* jcf-parse.c (java_parse_file): Handle filenames with embedded
spaces, and quoted filelists.
2004-08-15 Nathan Sidwell <nathan@codesourcery.com> 2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
* boehm.c (get_boehm_type_descriptor): Use build_int_cst. * boehm.c (get_boehm_type_descriptor): Use build_int_cst.
......
...@@ -897,7 +897,8 @@ java_parse_file (int set_yydebug ATTRIBUTE_UNUSED) ...@@ -897,7 +897,8 @@ java_parse_file (int set_yydebug ATTRIBUTE_UNUSED)
char *list, *next; char *list, *next;
tree node; tree node;
FILE *finput = NULL; FILE *finput = NULL;
int in_quotes = 0;
if (flag_filelist_file) if (flag_filelist_file)
{ {
int avail = 2000; int avail = 2000;
...@@ -940,8 +941,9 @@ java_parse_file (int set_yydebug ATTRIBUTE_UNUSED) ...@@ -940,8 +941,9 @@ java_parse_file (int set_yydebug ATTRIBUTE_UNUSED)
for (next = list; ; ) for (next = list; ; )
{ {
char ch = *next; char ch = *next;
if (ch == '\n' || ch == '\r' || ch == '\t' || ch == ' ' if (flag_filelist_file && ! in_quotes
|| ch == '&' /* FIXME */) && (ch == '\n' || ch == '\r' || ch == '\t' || ch == ' '
|| ch == '&') /* FIXME */)
{ {
if (next == list) if (next == list)
{ {
...@@ -955,6 +957,15 @@ java_parse_file (int set_yydebug ATTRIBUTE_UNUSED) ...@@ -955,6 +957,15 @@ java_parse_file (int set_yydebug ATTRIBUTE_UNUSED)
break; break;
} }
} }
if (flag_filelist_file && ch == '"')
{
in_quotes = ! in_quotes;
*next++ = '\0';
if (in_quotes)
list = next;
else
break;
}
if (ch == '\0') if (ch == '\0')
{ {
next = NULL; next = NULL;
......
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