ladybird/AK
Sergey Bugaev a3e4dfdf98 AK: Fix .. handling in FileSystemPath
We shouldn't just drop leading ..-s for relative paths. At the same time,
we should handle paths like

    ../foo/../../bar

correctly: the first .. after the foo cancels out the foo, but the second
one should get treated as a leading one and not get dropped.

Note that since this path resolution is purely lexical, it's never going to be
completely correct with respect to symlinks and other filesystem magic. Better
don't use it when dealing with files.
2020-05-22 23:55:35 +02:00
..
Tests AK: Add a way to get the number of valid bytes in a Utf8View 2020-05-18 11:31:43 +02:00
Assertions.h Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
Atomic.h Revert "AK: Add AtomicRef, for atomically accesing a reference to a varaible" 2020-05-20 16:24:26 +02:00
Badge.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Base64.cpp AK: Add a simple and inefficient Base64 decoder 2020-04-26 22:57:00 +02:00
Base64.h AK: Add a simple and inefficient Base64 decoder 2020-04-26 22:57:00 +02:00
BinarySearch.h Kernel: Optimize VM range deallocation a bit 2020-01-19 13:29:59 +01:00
Bitmap.h AK: Fix Bitmap not finding unset ranges at the end of the map 2020-05-06 22:28:23 +02:00
BufferStream.h LibDebug: Parse line number information from DWARF format 2020-04-20 17:25:50 +02:00
ByteBuffer.h AK: Correct ByteBuffer::{overwrite,slice*} bounds check 2020-05-02 12:24:10 +02:00
Checked.h AK: Fix Checked::multiplication_would_overflow() signature 2020-05-20 08:31:31 +02:00
CircularDeque.h AK: Add enqueue_begin() for the CircularDeque class (#1320) 2020-03-02 09:50:43 +01:00
CircularQueue.h CircularQueue: Move construct a T object instead of copy constructing it 2020-02-26 15:22:45 +01:00
Demangle.h Revert "AK: Don't demangle in serenity :(" 2020-05-20 16:24:26 +02:00
DoublyLinkedList.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
FileSystemPath.cpp AK: Fix .. handling in FileSystemPath 2020-05-22 23:55:35 +02:00
FileSystemPath.h AK: Add FileSystemPath::is_absolute() 2020-04-28 09:36:09 +02:00
FixedArray.h Kernel: Use a FixedArray for a process's extra GIDs 2020-02-18 11:35:47 +01:00
FlyString.cpp AK: Some FlyString improvements 2020-05-05 11:26:03 +02:00
FlyString.h AK: Some FlyString improvements 2020-05-05 11:26:03 +02:00
Forward.h AK: Add a very basic Utf32View class 2020-05-17 22:35:25 +02:00
Function.h Add clang-format file 2019-05-28 17:31:20 +02:00
HashFunctions.h AK: Add global FlatPtr typedef. It's u32 or u64, based on sizeof(void*) 2020-03-08 13:06:51 +01:00
HashMap.h AK: Make HashTable and HashMap use size_t for size and capacity 2020-02-24 09:42:52 +01:00
HashTable.h AK: Expose SinglyLinkedListIterator constructor 2020-02-27 10:21:13 +01:00
IDAllocator.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
InlineLinkedList.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
IntrusiveList.h LibCore: Add a forward declaration header 2020-02-14 23:31:18 +01:00
IPv4Address.h AK: Reduce header dependency graph of String.h 2020-03-23 13:48:44 +01:00
IterationDecision.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
JsonArray.h AK: Simplify JsonObject and JsonArray API a little bit 2020-03-06 08:51:22 +01:00
JsonArraySerializer.h Meta: Claim copyright for files created by me 2020-01-24 15:15:16 +01:00
JsonObject.h Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
JsonObjectSerializer.h AK: Make JsonValue and JsonObjectSerializer speak int/long/long long 2020-05-22 13:57:23 +02:00
JsonParser.cpp AK: Break on end of input in JsonParser::consume_quoted_string 2020-04-04 10:31:01 +02:00
JsonParser.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
JsonValue.cpp AK: Make JsonValue and JsonObjectSerializer speak int/long/long long 2020-05-22 13:57:23 +02:00
JsonValue.h AK: Make JsonValue and JsonObjectSerializer speak int/long/long long 2020-05-22 13:57:23 +02:00
kmalloc.h Revert "AK+LibC: Move non-placement new/delete into LibC" 2020-05-20 16:24:26 +02:00
kstdio.h Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
LogStream.cpp Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
LogStream.h Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
MACAddress.h Kernel+AK: Separate out MACAddress and move it into AK 2020-04-05 09:50:48 +02:00
MappedFile.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
MappedFile.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Memory.h Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
NetworkOrdered.h AK: Use endianness flags to determine if conversion is necessary 2020-02-19 16:08:28 +01:00
NeverDestroyed.h AK: Fixed a typo in NeverDestroyed.h (#1228) 2020-02-16 09:32:18 +01:00
Noncopyable.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
NonnullOwnPtr.h AK: Remove experimental clang -Wconsumed stuff 2020-05-16 10:55:54 +02:00
NonnullOwnPtrVector.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
NonnullPtrVector.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
NonnullRefPtr.h AK+Kernel: Help the compiler inline a bunch of trivial methods 2020-05-20 14:11:13 +02:00
NonnullRefPtrVector.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
NumberFormat.h AK+FileManager: Move out human_readable_size to AK::NumberFormat 2020-05-03 12:59:26 +02:00
NumericLimits.h AK: Add a simple NumericLimits<T> template 2020-04-15 16:58:46 +02:00
Optional.h AK: Remove experimental clang -Wconsumed stuff 2020-05-16 10:55:54 +02:00
OwnPtr.h AK: Stop allowing implicit downcast with OwnPtr and NonnullOwnPtr 2020-04-05 11:32:30 +02:00
Platform.h AK: Remove experimental clang -Wconsumed stuff 2020-05-16 10:55:54 +02:00
PrintfImplementation.h Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
Queue.h AK: Make Queue use size_t for its size 2020-02-25 14:55:04 +01:00
QuickSort.h AK: Dual pivot quicksort implementation (#1838) 2020-04-18 13:58:49 +02:00
RefCounted.h AK: Include Platform.h in RefCounted.h so we have ALWAYS_INLINE 2020-05-20 14:13:39 +02:00
RefPtr.h AK+Kernel: Help the compiler inline a bunch of trivial methods 2020-05-20 14:11:13 +02:00
Result.h AK: Simplify Result class so we can start using it 2020-04-21 16:19:18 +02:00
ScopedValueRollback.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
ScopeGuard.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
SharedBuffer.cpp Kernel: Merge the shbuf_get_size() syscall into shbuf_get() 2020-02-28 12:55:58 +01:00
SharedBuffer.h Kernel+LibC: Rename shared buffer syscalls to use a prefix 2020-02-28 12:55:58 +01:00
SinglyLinkedList.h AK: Add SinglyLinkedListIterator::is_begin() 2020-04-27 11:24:21 +02:00
StdLibExtras.h AK: Tweak exchange() implementation 2020-04-22 12:36:35 +02:00
String.cpp AK: Replace String::trim_spaces() with String::trim_whitespace() 2020-05-13 09:36:20 +02:00
String.h AK: Replace String::trim_spaces() with String::trim_whitespace() 2020-05-13 09:36:20 +02:00
StringBuilder.cpp AK: Add StringBuilder::append(Utf32View) 2020-05-17 22:35:25 +02:00
StringBuilder.h AK: Add StringBuilder::append(Utf32View) 2020-05-17 22:35:25 +02:00
StringImpl.cpp AK: Add FlyString, a simple flyweight string class 2020-03-22 13:03:43 +01:00
StringImpl.h AK: Let FlyString::hash() assume that the string was already hashed 2020-04-13 12:27:05 +02:00
StringUtils.cpp AK: StringUtils, add "convert_to_uint_from_hex" method 2020-05-21 01:19:42 +02:00
StringUtils.h AK: StringUtils, add "convert_to_uint_from_hex" method 2020-05-21 01:19:42 +02:00
StringView.cpp AK: Add StringView::equals_ignoring_case() 2020-05-13 19:25:49 +02:00
StringView.h AK: Add StringView::equals_ignoring_case() 2020-05-13 19:25:49 +02:00
TemporaryChange.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
TestSuite.h AK: Move the wildcard-matching implementation to StringUtils 2020-03-02 10:38:08 +01:00
Time.h AK: Add timeval_to_timespec and timespec_to_timeval conversion methods 2020-04-26 21:31:52 +02:00
Traits.h AK: Add HashMap, HashTable and Traits to Forward.h 2020-02-16 02:01:18 +01:00
Types.h Kernel: Add 'ptrace' syscall 2020-03-28 18:27:18 +01:00
URL.cpp AK: Make sure URL retains trailing slash if present in complete_url 2020-05-17 16:35:42 +02:00
URL.h AK: Fix URL's operator<<() and use it 2020-05-16 21:47:16 +02:00
Utf8View.cpp AK: Add a way to get the number of valid bytes in a Utf8View 2020-05-18 11:31:43 +02:00
Utf8View.h AK: Add a way to get the number of valid bytes in a Utf8View 2020-05-18 11:31:43 +02:00
Utf32View.h AK: Make Utf32View::substring_view() with 0 length not crash 2020-05-18 16:48:54 +02:00
Vector.h Revert "AK: Add InitializerList, an implementation of std::initializer_list" 2020-05-20 16:24:26 +02:00
Weakable.h AK: Make sure that Weakable always has the same memory layout 2020-02-15 14:49:57 +01:00
WeakPtr.h AK: Assert if trying to create a WeakPtr to an object being destroyed 2020-01-25 10:34:32 +01:00