This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

libgcj/10880: Runtime.exec() does not work with included program


>Number:         10880
>Category:       libgcj
>Synopsis:       Runtime.exec() does not work with included program
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue May 20 11:06:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     oyvind.harboe@zylin.com
>Release:        GCJ branch 3.3
>Organization:
>Environment:

>Description:
Run the included program. Modify to point to the cmd.exe on your machine. (Requires win32).

Output using JRE from Sun:

Do we get a linebreak \n here?




import java.io.IOException;
import java.io.InputStream;

public class Test
{
	public static void main(String[] args)
	{
		try
		{
			/* modify the command line to have a Win32 fullpath with backslashes in it. */
			Process proc=Runtime.getRuntime().exec("c:\\winnt\\system32\\cmd.exe /c echo Do we get a linebreak \\n here?");

			InputStream stream=proc.getInputStream();
			
			for (;;)
			{
				if (stream.available()>0)
				{
					System.out.print((char)stream.read());
				} else
				{
					try
					{
						proc.exitValue();
						break;
					}
					catch (IllegalThreadStateException e)
					{
					}
					try
					{
						Thread.sleep(100);
					} catch (InterruptedException e1)
					{
						e1.printStackTrace();
					}
				}
			}
			
		} catch (IOException e)
		{
			e.printStackTrace();
		} 
	}
}
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]