Implement init_long_path_support

This commit is contained in:
gingerBill
2024-07-23 17:46:22 +01:00
parent 65fec9134e
commit efa8c92bab
3 changed files with 28 additions and 8 deletions
+26 -3
View File
@@ -139,10 +139,33 @@ can_use_long_paths: bool
@(init)
init_long_path_support :: proc() {
// TODO(bill): init_long_path_support
// ADD THIS SHIT
// registry_path := win32.L(`Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled`)
can_use_long_paths = false
key: win32.HKEY
res := win32.RegOpenKeyExW(win32.HKEY_LOCAL_MACHINE, win32.L(`SYSTEM\CurrentControlSet\Control\FileSystem`), 0, win32.KEY_READ, &key)
defer win32.RegCloseKey(key)
if res != 0 {
return
}
value: u32
size := u32(size_of(value))
res = win32.RegGetValueW(
key,
nil,
win32.L("LongPathsEnabled"),
win32.RRF_RT_ANY,
nil,
&value,
&size,
)
if res != 0 {
return
}
if value == 1 {
can_use_long_paths = true
}
}
@(require_results)