LibUnicode: Use weak symbols to provide default IDNA defintions

Rather than using #ifdef blocks, update the fallback IDNA definitions to
use weak symbols to match the rest of LibUnicode / LibLocale.
This commit is contained in:
Timothy Flynn 2023-12-10 09:06:21 -05:00 committed by Tim Flynn
parent 1f0e24bc3b
commit 43e9dc0500
Notes: sideshowbarker 2024-07-17 02:06:40 +09:00
3 changed files with 5 additions and 16 deletions

View file

@ -106,13 +106,7 @@ static ErrorOr<void> generate_idna_data_header(Core::InputBufferedFile& file, ID
generator.append(R"~~~(
#pragma once
#include <AK/Optional.h>
#include <LibUnicode/IDNA.h>
namespace Unicode::IDNA {
Optional<Mapping> get_idna_mapping(u32 code_point);
}
)~~~");
@ -128,11 +122,12 @@ static ErrorOr<void> generate_idna_data_implementation(Core::InputBufferedFile&
generator.set("idna_table_size", TRY(String::number(idna_data.mapping_table.size())));
generator.append(R"~~~(
#include <AK/BinarySearch.h>
#include <AK/Optional.h>
#include <AK/Utf32View.h>
#include <LibUnicode/IDNAData.h>
#include <LibUnicode/CharacterTypes.h>
#include <LibUnicode/IDNA.h>
#include <LibUnicode/IDNAData.h>
namespace Unicode::IDNA {

View file

@ -18,14 +18,7 @@
namespace Unicode::IDNA {
#if not ENABLE_UNICODE_DATA
Optional<Mapping> get_idna_mapping(u32)
{
return {};
}
#endif
Optional<Mapping> __attribute__((weak)) get_idna_mapping(u32) { return {}; }
struct ProcessingResult {
Vector<String> result {};

View file

@ -73,5 +73,6 @@ struct ToAsciiOptions {
};
ErrorOr<String> to_ascii(Utf8View domain_name, ToAsciiOptions const& = {});
Optional<Mapping> get_idna_mapping(u32 code_point);
}