mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-08-03 16:30:29 +00:00
Fix bugs and make improvements
- Get clone() working on FreeBSD - Increase some Python build quotas - Add more atomic builtins to chibicc - Fix ASAN poisoning of alloca() memory - Make MODE= mandatory link path tinier - Improve the examples folder a little bit - Start working on some more resource limits - Make the linenoise auto-complete UI as good as GNU readline - Update compile.com, avoiding AVX codegen on non-AVX systems - Make sure empty path to syscalls like opendir raises ENOENT - Correctly polyfill ENOENT vs. ENOTDIR on the New Technology - Port bestline's paredit features to //third_party/linenoise - Remove workarounds for RHEL 5.0 bugs that were fixed in 5.1
This commit is contained in:
parent
c3fb624647
commit
ae638c0850
181 changed files with 2994 additions and 1367 deletions
|
@ -25,15 +25,17 @@
|
|||
#include "libc/nt/runtime.h"
|
||||
|
||||
textwindows int sys_truncate_nt(const char *path, uint64_t length) {
|
||||
int rc;
|
||||
bool32 ok;
|
||||
int64_t fh;
|
||||
uint16_t path16[PATH_MAX];
|
||||
if (__mkntpath(path, path16) == -1) return -1;
|
||||
if ((fh = CreateFile(path16, kNtGenericWrite, kNtFileShareRead, NULL,
|
||||
kNtOpenExisting, kNtFileAttributeNormal, 0)) != -1) {
|
||||
ok = sys_ftruncate_nt(fh, length);
|
||||
rc = sys_ftruncate_nt(fh, length);
|
||||
CloseHandle(fh);
|
||||
if (ok) return 0;
|
||||
} else {
|
||||
rc = -1;
|
||||
}
|
||||
return __winerr();
|
||||
return __fix_enotdir(rc, path16);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue