summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-14LibCore: Add wrapper for sethostnameLucas CHOLLET
2022-01-14LibCore: Remove usage of a hardcoded constant in gethostname()Lucas CHOLLET
2022-01-14host: Port to LibMainLucas CHOLLET
2022-01-14hexdump: Port to LibMainLucas CHOLLET
2022-01-14head: Port to LibMainLucas CHOLLET
2022-01-14gunzip: Remove StringView assignment on rhs-valueLucas CHOLLET
2022-01-14gunzip: Port to LibMainLucas CHOLLET
2022-01-14grep: Port to LibMainLucas CHOLLET
2022-01-14gml-format: Port to LibMainLucas CHOLLET
2022-01-14false: Port to LibMainLucas CHOLLET
2022-01-14disasm: Port to LibMainLucas CHOLLET
2022-01-14Tests: Unmap memory ranges on /dev/mem after testing mmap(2)Liav A
2022-01-14Base: Skip the Shell/function.sh test since it's flaky on CIAndreas Kling
2022-01-14Kernel/TmpFS: Remove inode map from TmpFSAndreas Kling
The HashMap of InodeIndex->Inode in TmpFS only had one purpose: looking up parent inodes by index. Instead of using a map for this, we can simply give each inode a WeakPtr to its parent inode. This saves us the trouble of dealing with the fallibility of HashMap allocations, and it just generally simpler. :^)
2022-01-14LibGL: Add a few defines so that Quake 2's OpenGL renderer compilesqeeg
2022-01-14Everywhere: Use my new serenityos.org e-mail :^)kleines Filmröllchen
2022-01-14LibJS: Add an else in StringPrototype::substrNico Weber
No behavior change, but makes the code look more like the spec test for this function.
2022-01-14LibJS: Fix substr() with negative arguments larger than string lengthNico Weber
length_in_code_units() returns a size_t, which is 64-bit unsigned in i686 builds. `size + (i32)int_length` hence produced a 64-bit unsigned result, so a negative value would wrap around and become a very large number. As fix, just omit the cast -- we assign the result of max() to a double anyways. With this, all test262 tests in annexB/built-ins/String/prototype pass.
2022-01-14LibJS: Correcly handle surrogates in escape()Nico Weber
Fixes test/annexB/built-ins/escape/escape-above{,-astral}.js in test262. All tests in test/annexB/built-ins/escape pass now.
2022-01-14AK: Make Variant::visit() prefer overloads accepting T const& over T&Ali Mohammad Pur
This makes the following code behave as expected: Variant<int, String> x { some_string() }; x.visit( [](String const&) {}, // Expectation is for this to be called [](auto&) {});
2022-01-14AK+Everywhere: Make Variant::visit() respect the Variant's constnessAli Mohammad Pur
...and fix all the instances of visit() taking non-const arguments.
2022-01-14SystemMonitor: Split multi-core CPU usage graphs into multiple rowsIdan Horowitz
This looks much nicer than the current cramped single-row solution.
2022-01-14PixelPaint: Inherit from `AbstractZoomPanWidget`Mustafa Quraish
2022-01-14ImageViewer: Inherit from `AbstractZoomPanWidget`Mustafa Quraish
2022-01-14LibGUI: Add `AbstractZoomPanWidget` widget :^)Mustafa Quraish
This is an abstract widget that is meant to handle all the panning / zooming functionality so that all applications implementing it do not have to try to do their own coordinate math.
2022-01-14Tests: Remove some temporary files when finished using themAndreas Kling
Leaving files in /tmp uses memory, which accumulates over time if you do something weird like leaving `run-tests` going all day long. :^)
2022-01-13Kernel: Wrap much of sys$execve() in a block scopeAndreas Kling
Since we don't return normally from this function, let's make it a little extra difficult to accidentally leak something by leaving it on the stack in this function.
2022-01-13Kernel: Perform exec-into-new-image directly in sys$execve()Andreas Kling
This ensures that everything allocated on the stack in Process::exec() gets cleaned up. We had a few leaks related to the parsing of shebang (#!) executables that get fixed by this.
2022-01-13LibJS: Handle the [[LanguageDisplay]] tag when localizing languagesTimothy Flynn
2022-01-13LibUnicode: Do not limit language display names to known localesTimothy Flynn
Currently, the UnicodeLocale generator collects a list of known locales from the CLDR before processing language display names. For each locale, the identifier is broken into language, script, and region subtags, and we create a list of seen languages. When processing display names, we skip languages we hadn't seen in that first step. This is insufficient for language display names like "en-GB", which do not have an locale entry in the CLDR, and thus are skipped. So instead, create the list of known languages by actually reading through the list of languages which have a display name.
2022-01-13LibUnicode: Add a method to combine locale subtags into a display stringTimothy Flynn
This is just a convenience wrapper around the underlying generated APIs.
2022-01-13LibUnicode: Parse and generate locale display patternsTimothy Flynn
These patterns indicate how to display locale strings when that locale contains multiple subtags. For example, "en-US" would be displayed as "English (United States)".
2022-01-13LibELF: Accept Span instead of Pointer+Size in validate_program_headersIdan Horowitz
2022-01-13LibELF: Use StringBuilders instead of Strings for the interpreter pathIdan Horowitz
This is required for the Kernel's usage of LibELF, since Strings do not expose allocation failure.
2022-01-13Kernel: Make map_typed() & map_typed_writable() fallible using ErrorOrIdan Horowitz
This mostly just moved the problem, as a lot of the callers are not capable of propagating the errors themselves, but it's a step in the right direction.
2022-01-13Kernel: Make map_bios() and map_ebda() fallible using ErrorOrIdan Horowitz
2022-01-13Base: Add icon for palette filesMarcus Nilsson
2022-01-13LibJS: Mark CreateTemporalTimeZone("UTC") as infallibleLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/ea25cfa
2022-01-13Ports/mc: Add Midnight Commander portKenneth Myhra
2022-01-13LibC: Remove TODO() macros to not break mc portKenneth Myhra
The TODO() macro crashes the port Midnight Commander on start-up.
2022-01-13LibC: Add definition for PRIxMAXKenneth Myhra
2022-01-13Ports/vim: Bump version number to 8.2.4066Kenneth Myhra
2022-01-13Base: Fix non-compliant PNG iconsMarcus Nilsson
These were found with pngcheck and includes icons that were made with PixelPaint. All were re-saved with GIMP and then stripped with optipng.
2022-01-13LibGfx: Change return type of Adler32 checksums in PNGWriterMarcus Nilsson
The two Adler32 checksums are u16 and these two getters were mistakenly left as u32 when PNGChunk::add_as_big_endian() was templated leading to corrupted IDAT fields in our PNGs.
2022-01-13Kernel: Stop leaking executable path in successful sys$execve()Andreas Kling
Since we don't return from sys$execve() when it's successful, we have to take special care to tear down anything we've allocated. Turns out we were not doing this for the full executable path itself.
2022-01-13WindowServer: Don't try to flash menubar in deleted windowsAndreas Kling
Capture the window weakly when setting up the menubar flash timer.
2022-01-13Meta: Add Xexxa's name to the contributors listLady Gegga
2022-01-13LibJS: Implement per-locale display of calendars and date-time fieldsTimothy Flynn
2022-01-13LibJS: Add FIXME regarding [[LanguageDisplay]] internal slot handlingTimothy Flynn
This is supposed to work as follows (grabbed from SpiderMonkey): > opt = { type: "language", languageDisplay: "dialect" }; > new Intl.DisplayNames([], opt).of("en-US"); "American English" > opt = { type: "language", languageDisplay: "standard" }; > new Intl.DisplayNames([], opt).of("en-US"); "English (United States)" We currently display the "dialect" variant. We will need to figure out how to display the "standard" variant. I think the way it works is that we take the display names of "en" (language) and "US" (region) and format them according to this pattern in localeDisplayNames.json: "localeDisplayNames": { "localeDisplayPattern": { "localePattern": "{0} ({1})", }, }, But I'd like to confirm this before implementing it.
2022-01-13LibJS+LibUnicode: Remove unnecessary locale currency mapping wrapperTimothy Flynn
Before LibUnicode generated methods were weakly linked, we had a public method (get_locale_currency_mapping) for retrieving currency mappings. That method invoked one of several style-specific methods that only existed in the generated UnicodeLocale. One caveat of weakly linked functions is that every such function must have a public declaration. The result is that each of those styled methods are declared publicly, which makes the wrapper redundant because it is just as easy to invoke the method for the desired style.