mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-03 05:08:14 +00:00
Minor improvements
This commit is contained in:
+16
-16
@@ -11,24 +11,24 @@ lookup_env :: proc(key: string, allocator := context.allocator) -> (value: strin
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
wkey := win32.utf8_to_wstring(key)
|
wkey := win32.utf8_to_wstring(key)
|
||||||
b := make([dynamic]u16, 100, context.temp_allocator)
|
n := win32.GetEnvironmentVariableW(wkey, nil, 0)
|
||||||
for {
|
if n == 0 {
|
||||||
n := win32.GetEnvironmentVariableW(wkey, raw_data(b), u32(len(b)))
|
err := win32.GetLastError()
|
||||||
if n == 0 {
|
if err == u32(ERROR_ENVVAR_NOT_FOUND) {
|
||||||
err := win32.GetLastError()
|
return "", false
|
||||||
if err == u32(ERROR_ENVVAR_NOT_FOUND) {
|
|
||||||
return "", false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if n <= u32(len(b)) {
|
|
||||||
value, _ = win32.utf16_to_utf8(b[:n], allocator)
|
|
||||||
found = true
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
resize(&b, len(b)*2)
|
|
||||||
}
|
}
|
||||||
|
b := make([dynamic]u16, n, context.temp_allocator)
|
||||||
|
n = win32.GetEnvironmentVariableW(wkey, raw_data(b), u32(len(b)))
|
||||||
|
if n == 0 {
|
||||||
|
err := win32.GetLastError()
|
||||||
|
if err == u32(ERROR_ENVVAR_NOT_FOUND) {
|
||||||
|
return "", false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
value, _ = win32.utf16_to_utf8(b[:n], allocator)
|
||||||
|
found = true
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -1345,7 +1345,9 @@ ParameterValue handle_parameter_value(CheckerContext *ctx, Type *in_type, Type *
|
|||||||
param_value.kind = ParameterValue_Constant;
|
param_value.kind = ParameterValue_Constant;
|
||||||
param_value.value = o.value;
|
param_value.value = o.value;
|
||||||
} else {
|
} else {
|
||||||
error(expr, "Default parameter must be a constant, %d", o.mode);
|
gbString s = expr_to_string(o.expr);
|
||||||
|
error(expr, "Default parameter must be a constant, got %s", s);
|
||||||
|
gb_string_free(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user