mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-08-17 09:20:28 +03:00
Everywhere: Remove string.h include from AK/Traits.h and resolve fallout
A lot of places were relying on AK/Traits.h to give it strnlen, memcmp, memcpy and other related declarations. In the quest to remove inclusion of LibC headers from Kernel files, deal with all the fallout of this included-everywhere header including less things.
This commit is contained in:
parent
0420736143
commit
7ab37ee22c
Notes:
sideshowbarker
2024-07-17 01:25:15 +09:00
Author: https://github.com/ADKaster Commit: https://github.com/SerenityOS/serenity/commit/7ab37ee22c Pull-request: https://github.com/SerenityOS/serenity/pull/16896
@ -6,6 +6,7 @@
|
||||
|
||||
#include <AK/CharacterTypes.h>
|
||||
#include <AK/FuzzyMatch.h>
|
||||
#include <string.h>
|
||||
|
||||
namespace AK {
|
||||
|
||||
|
@ -84,11 +84,11 @@ public:
|
||||
TRY(begin_item(key));
|
||||
if constexpr (IsLegacyBuilder<Builder>) {
|
||||
TRY(m_builder.try_append('"'));
|
||||
TRY(m_builder.try_append_escaped_for_json({ value, strlen(value) }));
|
||||
TRY(m_builder.try_append_escaped_for_json({ value, __builtin_strlen(value) }));
|
||||
TRY(m_builder.try_append('"'));
|
||||
} else {
|
||||
TRY(m_builder.append('"'));
|
||||
TRY(m_builder.append_escaped_for_json({ value, strlen(value) }));
|
||||
TRY(m_builder.append_escaped_for_json({ value, __builtin_strlen(value) }));
|
||||
TRY(m_builder.append('"'));
|
||||
}
|
||||
return {};
|
||||
|
@ -10,10 +10,10 @@
|
||||
#include <AK/StdLibExtras.h>
|
||||
#include <AK/Types.h>
|
||||
#include <stdarg.h>
|
||||
#include <wchar.h>
|
||||
|
||||
#ifndef KERNEL
|
||||
# include <math.h>
|
||||
# include <wchar.h>
|
||||
#endif
|
||||
|
||||
#ifdef AK_OS_SERENITY
|
||||
|
@ -14,9 +14,12 @@
|
||||
#include <AK/StringView.h>
|
||||
#include <AK/Vector.h>
|
||||
|
||||
#ifndef KERNEL
|
||||
#ifdef KERNEL
|
||||
# include <Kernel/StdLib.h>
|
||||
#else
|
||||
# include <AK/DeprecatedString.h>
|
||||
# include <AK/FloatingPointStringConversions.h>
|
||||
# include <string.h>
|
||||
#endif
|
||||
|
||||
namespace AK {
|
||||
|
11
AK/Time.h
11
AK/Time.h
@ -11,12 +11,11 @@
|
||||
#include <AK/Platform.h>
|
||||
#include <AK/Types.h>
|
||||
|
||||
// Kernel and Userspace pull in the definitions from different places.
|
||||
// Avoid trying to figure out which one.
|
||||
struct timeval;
|
||||
struct timespec;
|
||||
|
||||
#if defined(AK_OS_WINDOWS)
|
||||
#if defined(AK_OS_SERENITY) && defined(KERNEL)
|
||||
# include <Kernel/API/POSIX/sys/time.h>
|
||||
# include <Kernel/API/POSIX/time.h>
|
||||
#else
|
||||
# include <sys/time.h>
|
||||
# include <time.h>
|
||||
#endif
|
||||
|
||||
|
@ -11,7 +11,6 @@
|
||||
#include <AK/Forward.h>
|
||||
#include <AK/HashFunctions.h>
|
||||
#include <AK/StringHash.h>
|
||||
#include <string.h>
|
||||
|
||||
namespace AK {
|
||||
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include <Kernel/Bus/USB/USBConfiguration.h>
|
||||
#include <Kernel/Bus/USB/USBInterface.h>
|
||||
#include <Kernel/Bus/USB/USBRequest.h>
|
||||
#include <Kernel/StdLib.h>
|
||||
|
||||
namespace Kernel::USB {
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include <Kernel/Bus/USB/USBTransfer.h>
|
||||
#include <Kernel/Memory/MemoryManager.h>
|
||||
#include <Kernel/StdLib.h>
|
||||
|
||||
namespace Kernel::USB {
|
||||
|
||||
|
@ -992,11 +992,11 @@ ErrorOr<void> Ext2FSInode::update_timestamps(Optional<Time> atime, Optional<Time
|
||||
MutexLocker locker(m_inode_lock);
|
||||
if (fs().is_readonly())
|
||||
return EROFS;
|
||||
if (atime.value_or({}).to_timespec().tv_sec > INT32_MAX)
|
||||
if (atime.value_or({}).to_timespec().tv_sec > NumericLimits<i32>::max())
|
||||
return EINVAL;
|
||||
if (ctime.value_or({}).to_timespec().tv_sec > INT32_MAX)
|
||||
if (ctime.value_or({}).to_timespec().tv_sec > NumericLimits<i32>::max())
|
||||
return EINVAL;
|
||||
if (mtime.value_or({}).to_timespec().tv_sec > INT32_MAX)
|
||||
if (mtime.value_or({}).to_timespec().tv_sec > NumericLimits<i32>::max())
|
||||
return EINVAL;
|
||||
if (atime.has_value())
|
||||
m_raw_inode.i_atime = atime.value().to_timespec().tv_sec;
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include <AK/Assertions.h>
|
||||
#include <AK/StringView.h>
|
||||
#include <Kernel/Memory/MemoryManager.h>
|
||||
#include <Kernel/StdLib.h> // For memcpy. FIXME: Make memcpy less expensive to access a declaration of in the Kernel.
|
||||
|
||||
namespace Kernel {
|
||||
|
||||
|
@ -51,6 +51,8 @@ void const* memmem(void const* haystack, size_t, void const* needle, size_t);
|
||||
[[nodiscard]] inline u16 htons(u16 w) { return (w & 0xff) << 8 | ((w >> 8) & 0xff); }
|
||||
}
|
||||
|
||||
#define offsetof(type, member) __builtin_offsetof(type, member)
|
||||
|
||||
template<typename T>
|
||||
[[nodiscard]] inline ErrorOr<void> copy_from_user(T* dest, T const* src)
|
||||
{
|
||||
|
@ -10,7 +10,9 @@
|
||||
#include <AK/Try.h>
|
||||
#include <LibEDID/EDID.h>
|
||||
|
||||
#ifndef KERNEL
|
||||
#ifdef KERNEL
|
||||
# include <Kernel/StdLib.h>
|
||||
#else
|
||||
# include <AK/ScopeGuard.h>
|
||||
# include <Kernel/API/Graphics.h>
|
||||
# include <fcntl.h>
|
||||
|
@ -14,7 +14,12 @@
|
||||
#include <Kernel/API/serenity_limits.h>
|
||||
#include <LibELF/Image.h>
|
||||
#include <LibELF/Validation.h>
|
||||
#include <limits.h>
|
||||
|
||||
#ifdef KERNEL
|
||||
# include <Kernel/StdLib.h>
|
||||
#else
|
||||
# include <string.h>
|
||||
#endif
|
||||
|
||||
namespace ELF {
|
||||
|
||||
|
@ -10,8 +10,11 @@
|
||||
#include <Kernel/API/serenity_limits.h>
|
||||
#include <LibC/elf.h>
|
||||
#include <LibELF/Validation.h>
|
||||
#include <limits.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#ifndef KERNEL
|
||||
# include <limits.h>
|
||||
# include <pthread.h>
|
||||
#endif
|
||||
|
||||
namespace ELF {
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user