mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-11 13:36:13 +03:00
LibTimeZone: Replace PATH_MAX usage with heap allocation
This commit is contained in:
parent
ae10d085ba
commit
de6664c0cb
Notes:
sideshowbarker
2024-07-16 23:34:44 +09:00
Author: https://github.com/bugaevc Commit: https://github.com/SerenityOS/serenity/commit/de6664c0cb Pull-request: https://github.com/SerenityOS/serenity/pull/20958 Reviewed-by: https://github.com/ADKaster ✅
@ -6,6 +6,7 @@
|
||||
|
||||
#include <AK/Debug.h>
|
||||
#include <AK/DeprecatedString.h>
|
||||
#include <AK/ScopeGuard.h>
|
||||
#include <LibTimeZone/TimeZone.h>
|
||||
#include <limits.h>
|
||||
#include <stdio.h>
|
||||
@ -106,10 +107,11 @@ StringView current_time_zone()
|
||||
return system_time_zone();
|
||||
#else
|
||||
static constexpr auto zoneinfo = "/zoneinfo/"sv;
|
||||
char buffer[PATH_MAX];
|
||||
char* real_path = realpath("/etc/localtime", nullptr);
|
||||
ScopeGuard free_path = [real_path]() { free(real_path); };
|
||||
|
||||
if (realpath("/etc/localtime", buffer)) {
|
||||
auto time_zone = StringView { buffer, strlen(buffer) };
|
||||
if (real_path) {
|
||||
auto time_zone = StringView { real_path, strlen(real_path) };
|
||||
|
||||
if (auto index = time_zone.find(zoneinfo); index.has_value())
|
||||
time_zone = time_zone.substring_view(*index + zoneinfo.length());
|
||||
|
Loading…
Reference in New Issue
Block a user