Linux implementation parses /etc/locale.conf correctly

Sometimes you just gotta strings::dup
This commit is contained in:
Sasha Koshka 2024-10-04 23:54:08 -04:00
parent ca5e32e06f
commit e0868e7554

View File

@ -1,5 +1,6 @@
use bufio; use bufio;
use errors; use errors;
use fmt;
use io; use io;
use os; use os;
use strings; use strings;
@ -41,7 +42,7 @@ fn get_locale(var: str) locale =
match (get_locale_no_fallback(var)) { match (get_locale_no_fallback(var)) {
case let local: locale => yield local; case let local: locale => yield local;
case => case =>
yield match (get_locale_no_fallback("LC_LANG")) { yield match (get_locale_no_fallback("LANG")) {
case let local: locale => yield local; case let local: locale => yield local;
case => yield c; case => yield c;
}; };
@ -86,8 +87,10 @@ fn get_locale_conf() []str = {
for (true) { for (true) {
match (bufio::scan_line(&scanner)) { match (bufio::scan_line(&scanner)) {
case let line: const str => append(locale_conf, line); case let line: const str =>
case => return locale_conf; append(locale_conf, strings::dup(line));
case =>
return locale_conf;
}; };
}; };
}; };