diff options
author | sigmaSd <bedisnbiba@gmail.com> | 2023-10-22 09:02:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-22 08:02:55 +0000 |
commit | 9f9c3d9048108200a888c508328d2a19cbbd6164 (patch) | |
tree | 664847bcef81d34a26d5371378d460b61245eac3 /ext/node/polyfills/_fs | |
parent | fb73eb1e9dca3e93cc7efcf5c2244e0068733843 (diff) |
fix(polyfill): correctly handle flag when its equal 0 (#20953)
Fixes https://github.com/denoland/deno/issues/20910
Diffstat (limited to 'ext/node/polyfills/_fs')
-rw-r--r-- | ext/node/polyfills/_fs/_fs_common.ts | 2 | ||||
-rw-r--r-- | ext/node/polyfills/_fs/_fs_open.ts | 4 | ||||
-rw-r--r-- | ext/node/polyfills/_fs/_fs_read.ts | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/ext/node/polyfills/_fs/_fs_common.ts b/ext/node/polyfills/_fs/_fs_common.ts index d1dfabc4f..3817ee9f8 100644 --- a/ext/node/polyfills/_fs/_fs_common.ts +++ b/ext/node/polyfills/_fs/_fs_common.ts @@ -108,7 +108,7 @@ export function checkEncoding(encoding: Encodings | null): Encodings | null { export function getOpenOptions( flag: string | number | undefined, ): Deno.OpenOptions { - if (!flag) { + if (flag === undefined) { return { create: true, append: true }; } diff --git a/ext/node/polyfills/_fs/_fs_open.ts b/ext/node/polyfills/_fs/_fs_open.ts index 571a06a5d..fc5defb51 100644 --- a/ext/node/polyfills/_fs/_fs_open.ts +++ b/ext/node/polyfills/_fs/_fs_open.ts @@ -57,8 +57,8 @@ function convertFlagAndModeToOptions( flag?: openFlags, mode?: number, ): Deno.OpenOptions | undefined { - if (!flag && !mode) return undefined; - if (!flag && mode) return { mode }; + if (flag === undefined && mode === undefined) return undefined; + if (flag === undefined && mode) return { mode }; return { ...getOpenOptions(flag), mode }; } diff --git a/ext/node/polyfills/_fs/_fs_read.ts b/ext/node/polyfills/_fs/_fs_read.ts index 6d7efbeef..66d5a4093 100644 --- a/ext/node/polyfills/_fs/_fs_read.ts +++ b/ext/node/polyfills/_fs/_fs_read.ts @@ -167,7 +167,7 @@ export function readSync( if (typeof offsetOrOpt === "number") { offset = offsetOrOpt; validateInteger(offset, "offset", 0); - } else { + } else if (offsetOrOpt !== undefined) { const opt = offsetOrOpt as readSyncOptions; offset = opt.offset ?? 0; length = opt.length ?? buffer.byteLength; |