mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-24 10:38:59 +01:00
wire up read/write correctly, #66759
This commit is contained in:
@@ -726,8 +726,8 @@ export interface ExtHostFileSystemShape {
|
||||
$unwatch(handle: number, session: number): void;
|
||||
$open(handle: number, resource: UriComponents): Promise<number>;
|
||||
$close(handle: number, fd: number): Promise<void>;
|
||||
$read(handle: number, fd: number, pos: number, data: Buffer, offset: number, length: number): Promise<number>;
|
||||
$write(handle: number, fd: number, pos: number, data: Buffer, offset: number, length: number): Promise<number>;
|
||||
$read(handle: number, fd: number, pos: number, length: number): Promise<Buffer>;
|
||||
$write(handle: number, fd: number, pos: number, data: Buffer): Promise<number>;
|
||||
}
|
||||
|
||||
export interface ExtHostSearchShape {
|
||||
|
||||
@@ -290,14 +290,17 @@ export class ExtHostFileSystem implements ExtHostFileSystemShape {
|
||||
return Promise.resolve(this._fsProvider.get(handle).close(fd));
|
||||
}
|
||||
|
||||
$read(handle: number, fd: number, pos: number, data: Buffer, offset: number, length: number): Promise<number> {
|
||||
$read(handle: number, fd: number, pos: number, length: number): Promise<Buffer> {
|
||||
this._checkProviderExists(handle);
|
||||
return Promise.resolve(this._fsProvider.get(handle).read(fd, pos, data, offset, length));
|
||||
const data = Buffer.allocUnsafe(length);
|
||||
return Promise.resolve(this._fsProvider.get(handle).read(fd, pos, data, 0, length)).then(read => {
|
||||
return data.slice(0, read); // don't send zeros
|
||||
});
|
||||
}
|
||||
|
||||
$write(handle: number, fd: number, pos: number, data: Buffer, offset: number, length: number): Promise<number> {
|
||||
$write(handle: number, fd: number, pos: number, data: Buffer): Promise<number> {
|
||||
this._checkProviderExists(handle);
|
||||
return Promise.resolve(this._fsProvider.get(handle).write(fd, pos, data, offset, length));
|
||||
return Promise.resolve(this._fsProvider.get(handle).write(fd, pos, data, 0, data.length));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user