- // FEATURE: Do the proper mangling for non-unix hosts
- String userdir = getSystemProperty("user.dir");
- cwd =
- userdir != null && userdir.startsWith("/") && File.separatorChar == '/' && getSystemProperty("nestedvm.root") == null
- ? userdir.substring(1) : "";
+ if(!exec) {
+ gs = defaultGS;
+ String userdir = Platform.getProperty("user.dir");
+ String nvroot = Platform.getProperty("nestedvm.root");
+ cwd = "";
+ if(userdir != null && nvroot == null) {
+ if(userdir.startsWith("/") && File.separatorChar == '/') {
+ cwd = userdir.substring(1);
+ } else {
+ Vector vec = new Vector();
+ File root = HostFS.hostRootDir();
+ String s = new File(userdir).getAbsolutePath();
+ File d = new File(s);
+ System.err.println(s);
+ System.err.println(d);
+ while(!d.equals(root)) {
+ System.err.println("Got " + d.getName());
+ vec.addElement(d.getName());
+ if((s = d.getParent()) == null) break;
+ d = new File(s);
+ }
+ if(s != null)
+ for(int i=vec.size()-1;i>=0;i--) cwd += (String) vec.elementAt(i) + (i==0?"":"/");
+ }
+ }
+ }