Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-03-22 | AK: Expose the current position of a Utf8CodePointIterator as a pointer | Sam Atkins | |
2023-03-21 | AK: Expose the seekback limit of CircularBuffer | Tim Schumacher | |
2023-03-21 | AK: Add a Stream wrapper that counts read bytes | Tim Schumacher | |
2023-03-21 | AK: Move ConstrainedStream from LibWasm and limit discarding | Tim Schumacher | |
2023-03-18 | AK: Export FlyString from the forwarding header | Timothy Flynn | |
2023-03-17 | LibGfx/OpenType: Add some initial support for GPOS glyph positioning | Andreas Kling | |
This patch parses enough of GPOS tables to be able to support the kerning information embedded in Inter. Since that specific font only applies positioning offsets to the first glyph in each pair, I was able to get away with not changing our API. Once we start adding support for more sophisticated positioning, we'll need to be able to communicate more than a simple "kerning offset" to the clients of this code. | |||
2023-03-15 | AK: Clear OrderedHashTable previous/next pointers on removal | Jelle Raaijmakers | |
With Clang, the previous/next pointers in buckets of an `OrderedHashTable` are not cleared when a bucket is being shifted up as a result of a removed bucket. As a result, an unfortunate pointer mixup could lead to an infinite loop in the `HashTable` iterator, which was exposed in `HashMap::keys()`. Co-authored-by: Luke Wilde <lukew@serenityos.org> | |||
2023-03-14 | AK: Rename CaseInsensitiveStringViewTraits to reflect intent | gustrb | |
Now it is called `CaseInsensitiveASCIIStringViewTraits`, so we can be more specific about what data structure does it operate onto. ;) | |||
2023-03-14 | AK: Add Queue::tail() | Andreas Kling | |
We already had head(), so let's also have tail(). | |||
2023-03-13 | AK: Read and write accumulated BitStream bits directly | Tim Schumacher | |
2023-03-13 | AK: Remove unneeded overrides for `write_until_depleted` from BitStream | Tim Schumacher | |
2023-03-13 | AK: Rename Stream::write_entire_buffer to Stream::write_until_depleted | Tim Schumacher | |
No functional changes. | |||
2023-03-13 | AK: Rename Stream::read_entire_buffer to Stream::read_until_filled | Tim Schumacher | |
No functional changes. | |||
2023-03-13 | AK: Rename Stream::{read,write} to Stream::{read_some,write_some} | Tim Schumacher | |
Similar to POSIX read, the basic read and write functions of AK::Stream do not have a lower limit of how much data they read or write (apart from "none at all"). Rename the functions to "read some [data]" and "write some [data]" (with "data" being omitted, since everything here is reading and writing data) to make them sufficiently distinct from the functions that ensure to use the entire buffer (which should be the go-to function for most usages). No functional changes, just a lot of new FIXMEs. | |||
2023-03-13 | AK: Compute UTF-8 code point lengths using only leading bytes | Timothy Flynn | |
We don't need to decode the entire code point to know its length. This reduces the runtime of decoding a string containing 5 million instances of U+10FFFF from over 4 seconds to 0.9 seconds. | |||
2023-03-11 | AK: Add FlyString::from_deprecated_fly_string() | Kenneth Myhra | |
Let's add FlyString::from_deprecated_fly_string() so we can use it instead of FlyString::from_utf8(). This will make it easier to detect potential unncessary allocations as we transfer to FlyString. | |||
2023-03-11 | AK: Forward-declare LexicalPath | Sam Atkins | |
And alphabetically sort the list while I'm at it. | |||
2023-03-10 | Everywhere: Rename equals_ignoring_case => equals_ignoring_ascii_case | Andreas Kling | |
Let's make it clear that these functions deal with ASCII case only. | |||
2023-03-10 | AK: Add constexpr floor and round | kleines Filmröllchen | |
2023-03-09 | AK: Make FlyString::hash() use the cached hash in StringData if possible | Andreas Kling | |
This avoids rehashing the string every time. | |||
2023-03-09 | AK: Replace C-style casts | Sam Atkins | |
2023-03-09 | AK: Remove infallible version of StringBuilder::to_byte_buffer | Linus Groh | |
Also drop the try_ prefix from the fallible function, as it is no longer needed to distinguish the two. | |||
2023-03-09 | AK: Introduce a fallible version of StringBuilder::to_byte_buffer | Karol Baraniecki | |
Name it StringBuilder::try_to_byte_buffer accordingly :^) | |||
2023-03-08 | AK+LibUnicode: Implement String::equals_ignoring_case without allocating | Timothy Flynn | |
We currently fully casefold the left- and right-hand sides to compare two strings with case-insensitivity. Now, we casefold one code point at a time, storing the result in a view for comparison, until we exhaust both strings. | |||
2023-03-08 | AK: Add a Utf32View::substring_view overload to take only an offset | Timothy Flynn | |
This is for convenience, and matches our other UTF-N views. | |||
2023-03-08 | AK: Make String::contains(code_point) handle non-ASCII | Timothy Flynn | |
We currently only accept a char, instead of a full code point. | |||
2023-03-08 | AK: Make String::{starts,ends}_with(code_point) handle non-ASCII | Timothy Flynn | |
We currently pass the code point to StringView::{starts,ends}_with, which actually accepts a single char, thus cannot handle non-ASCII code points. | |||
2023-03-08 | AK: Add FlyString::equals_ignoring_ascii_case() | Andreas Kling | |
This is similar to equals_ignoring_case() but only cares about ASCII case insensitivity. | |||
2023-03-06 | AK+Kernel: Remove all the Nonnull*PtrVector classes | Andreas Kling | |
2023-03-06 | AK: Remove specialized shuffle for NonnullPtrVector | Andreas Kling | |
2023-03-05 | AK: Add FlyString::to_deprecated_fly_string() | Kenneth Myhra | |
This adds the conversion function to_deprecated_fly_string() to enable conversion from new FlyString to DeprecatedFlyString. | |||
2023-03-05 | AK+LibAudio: Remove UFixedBigInt::my_size | Dan Klishch | |
2023-03-04 | AK: Implement Knuth's algorithm D for dividing UFixedBigInt's | Dan Klishch | |
2023-03-04 | AK: Delete unused and untested sqrt, pow and pow_mod from UFixedBigInt | Dan Klishch | |
2023-03-04 | AK+LibCrypto: Delete 64x64 wide multiplication workarounds | Dan Klishch | |
Now UFixedBigInt exposes API to do wide multiplications of this kind efficiently. | |||
2023-03-04 | AK: Rewrite UFixedBigInt using the framework from BigIntBase.h | Dan Klishch | |
2023-03-04 | AK: Introduce "BigIntBase.h" for common simple operations on big ints | Dan Klishch | |
2023-03-04 | AK: Move compiletime_fail to StdLibExtras.h | Dan Klishch | |
This function will be used in the next commit in "BigIntBase.h". | |||
2023-03-04 | AK: Remove signbit definition to prevent conflict in FixedPoint | nipos | |
2023-03-04 | AK: Add support for Solaris to StackInfo | nipos | |
2023-03-04 | AK: Add Solaris to platform detection | nipos | |
2023-03-04 | AK: Add StackInfo implementation for Windows | Andrew Kaster | |
This prevents a warning when compiling jakt that it's not implemented. | |||
2023-03-04 | LibCMake: Introduce a CMake lexer | Sam Atkins | |
2023-03-04 | AK: Format Debug.h.in | Sam Atkins | |
Indented #cmakedefine01 is supported since CMake 3.10: https://cmake.org/cmake/help/latest/release/3.10.html#commands We're on 3.16, and the minimum required for Serenity itself is 3.25, so this should be fine. And it makes CLion's auto-formatter much happier! | |||
2023-03-03 | AK+readelf: Issue error when using ARCH(arch) with nonexistent arch | Dan Klishch | |
This disallows erroneous `#if ARCH(x86_64)` (note lowercase x). | |||
2023-03-03 | AK: Ensure short String instances are valid UTF-8 | Timothy Flynn | |
We are currently only validating long strings. | |||
2023-03-03 | AK: Protect Utf8View against inclusion in the Kernel | Timothy Flynn | |
It will soon be included in the Kernel by way of String.h. Utf8View includes DeprecatedString, which is not allowed in the Kernel. | |||
2023-03-03 | AK: Invalidate overlong UTF-8 code point encodings | Timothy Flynn | |
For example, the code point U+002F could be encoded as UTF-8 with the bytes 0x80 0xAF. This trick has historically been used to bypass security checks. | |||
2023-03-03 | AK: Replace UTF-8 string validation with a constexpr implementation | Timothy Flynn | |
This will allow validating UTF-8 strings at compile time, such as from String::from_utf8_short_string. | |||
2023-03-03 | AK: Add String::ends_with{,_bytes}() | Linus Groh | |