in src/com/pty4j/windows/winpty/WinPty.java [314:333]
String getWorkingDirectory() throws IOException {
if (myClosed) {
return null;
}
int bufferLength = 1024;
Pointer buffer = new Memory(Native.WCHAR_SIZE * bufferLength);
PointerByReference errPtr = new PointerByReference();
try {
int result = INSTANCE.winpty_get_current_directory(myWinpty, bufferLength, buffer, errPtr);
if (result > 0) {
return buffer.getWideString(0);
}
WString message = INSTANCE.winpty_error_msg(errPtr.getValue());
int code = INSTANCE.winpty_error_code(errPtr.getValue());
throw new IOException("winpty_get_current_directory failed, code: " + code + ", message: " + message);
}
finally {
INSTANCE.winpty_error_free(errPtr.getValue());
}
}