summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-25LibJS: Remove erroneous variadic template from some call overloadsTimothy Flynn
These function do not use the Args variadic template.
2022-01-26LibRegex: Implement ECMA262 multiline matching without splitting linesAli Mohammad Pur
As ECMA262 regex allows `[^]` and literal newlines to match newlines in the input string, we shouldn't split the input string into lines, rather simply make boundaries and catchall patterns capable of checking for these conditions specifically.
2022-01-26Meta: Correct the PNP ID download conditionAli Mohammad Pur
`PNP_IDS_PATH` does not exist, set this to `PNP_IDS_EXPORT_PATH` to avoid redownloading the database every reconfigure.
2022-01-26LibRegex: Don't return empty vectors from RegexStringView::lines()Ali Mohammad Pur
Instead, return a vector of one empty string.
2022-01-25Kernel: Perform DeviceManagement initialization after MM is initializedIdan Horowitz
There's no need to perform it this early, and until the MemoryManager is initialized we have very limited kmalloc capacity, so let's try and keep anything that's not required to be there out of there.
2022-01-25Kernel: Use PARTUUID: instead of PARTUUID= as the partition uuid prefixIdan Horowitz
This makes the functionality work again, as we no longer allow any equal signs inside boot parameter values.
2022-01-25Kernel: Use u64 instead of size_t in the STORAGE_DEVICE_GET_SIZE ioctlIdan Horowitz
This ensures the device size doesn't get truncated on i686.
2022-01-25Kernel: Use u64 instead of u32 and u16 in StorageDevice::{read, write}Idan Horowitz
This ensures offsets will not be truncated on large filesystems on i686
2022-01-25Kernel: Stop using unsigned when adjusting offsets in DiskPartitionIdan Horowitz
These can only contain 32 bit values, and so will truncate very large offsets.
2022-01-25Kernel: Use u64 instead of size_t for BlockBasedFileSystem::read_blockIdan Horowitz
This ensures offsets will not be truncated on large filesystems on i686
2022-01-25Kernel: Use u64 instead of size_t for BlockBasedFileSystem::write_blockIdan Horowitz
This ensures offsets will not be truncated on large filesystems on i686
2022-01-25Kernel: Use u64 instead of size_t for File::can_write offsetIdan Horowitz
This ensures offsets will not be truncated on large files on i686.
2022-01-25Kernel: Use u64 instead of size_t for File::can_read offsetIdan Horowitz
This ensures offsets will not be truncated on large files on i686.
2022-01-25LibJS: Implement Intl.RelativeTimeFormat.prototype.resolvedOptionsTimothy Flynn
2022-01-25LibJS: Fix errors in Intl.DateTimeFormat.prototype.resolvedOptions testsTimothy Flynn
Noticed these while implementing this prototype for RelativeTimeFormat.
2022-01-25LibJS: Implement Intl.RelativeTimeFormat.supportedLocalesOfTimothy Flynn
2022-01-25js: Implement pretty-printing of Intl.RelativeTimeFormatTimothy Flynn
2022-01-25LibJS: Implement the Intl.RelativeTimeFormat constructorTimothy Flynn
2022-01-25LibJS: Implement a nearly empty Intl.RelativeTimeFormat objectTimothy Flynn
This adds plumbing for the Intl.RelativeTimeFormat object, constructor, and prototype.
2022-01-25LibJS: Convert Intl.NumberFormat to use Unicode::StyleTimothy Flynn
2022-01-25LibJS: Convert Intl.DisplayNames to use Unicode::StyleTimothy Flynn
2022-01-25LibJS+LibUnicode: Convert Intl.ListFormat to use Unicode::StyleTimothy Flynn
Remove ListFormat's own definition of the Style enum, which was further duplicated by a generated ListPatternStyle enum with the same values.
2022-01-25LibUnicode: Add helper methods to convert a Style to and from a stringTimothy Flynn
This conversion is duplicated a few times in our Intl implementation, so let's just define these once and be done with it.
2022-01-25LibUnicode: Remove the Unicode::Style::Numeric valueTimothy Flynn
It is unused.
2022-01-25LibTimeZone+Userland: Rename current_time_zone to system_time_zoneTimothy Flynn
This renames the current implementation of current_time_zone to system_time_zone to more clearly indicate what it is. Then reimplements current_time_zone to return whatever was set up by tzset, falling back to UTC if something went awry, for convenience.
2022-01-25Userland: Invoke tzset in applications that care about time zonesTimothy Flynn
In most applications, we invoke tzset once at startup for now. Most of these are short lived and don't need to know about time zone changes. The exception is the ClockWidget in the taskbar. Here, we invoke tzset each time we update the system time. This way, any time zone changes can take effect immediately.
2022-01-25LibC: Ensure most time tests run under UTCTimothy Flynn
This ensures these tests pass even if the user has changed the system time zone away from UTC.
2022-01-25LibC: Ensure tzname and related fields are intializedTimothy Flynn
If a program never invokes tzset, the tzname variable should have system dependent default values.
2022-01-25LibC: Revert localtime_r to use time zone information set by tzsetTimothy Flynn
Now that tzset actually detects time zones, parties interested in time zone offsets should invoke tzset.
2022-01-25LibC: Invoke tzset from time functions required to update time zone infoTimothy Flynn
From POSIX: the ctime(), localtime(), mktime(), strftime(), and strftime_l() functions are required to set timezone information as if by calling tzset() ctime is excluded here because it invokes localtime, so there's no need to invoke tzset twice.
2022-01-25LibC: Implement tzset with time zone awareness in accordance with POSIXTimothy Flynn
2022-01-25LibC: Define the POSIX TZNAME_MAX limitTimothy Flynn
POSIX defines this as the "Maximum number of bytes supported for the name of a timezone (not of the TZ variable)." It must have a minimum value of _POSIX_TZNAME_MAX (6). The longest time zone name in the TZDB is about 40 chars, so 64 is chosen here for a little wiggle room, and to round up to a power of 2.
2022-01-25LibTimeZone: Handle time zones which begin the year in daylight savingsTimothy Flynn
2022-01-25LibTimeZone: Add an API to retrieve both daylight and standard offsetsTimothy Flynn
This API will also include the formatted name of the time zone, with respect for DST (e.g. EST vs EDT for America/New_York).
2022-01-25LibTimeZone: Slightly refactor the generated DST rule finding methodTimothy Flynn
This just splits up the method to find the active DST rule for specified time and time zone. This is to allow re-using the now split-off function in upcoming commits.
2022-01-25LibTimeZone: Parse and generate time zone abbreviation format stringsTimothy Flynn
For example, today, America/New_York has the format string "E%sT" and uses US DST rules. Those rules indicate the %s should be replaced by a "D" in daylight time and "S" in standard time.
2022-01-25timezone: Add an option to list all time zonesTimothy Flynn
2022-01-25Kernel: Fix index calculation in NVMeQueue submit_sync_sqe functionPankaj Raghav
There was a bug while calculating the next index in submit_sync_sqe function. Use the NVMeQueue's class variable m_qdepth instead of the hardcoded IO_QUEUE_SIZE.
2022-01-25AK: Standardize the behaviour of GenericLexer::consume_until overloadsIdan Horowitz
Before this commit all consume_until overloads aside from the Predicate one would consume (and ignore) the stop char/string, while the Predicate overload would not, in order to keep behaviour consistent, the other overloads no longer consume the stop char/string as well.
2022-01-25AK: Add a consume_until(StringView) overload to GenericLexerIdan Horowitz
This allows us to skip a strlen call.
2022-01-25AK: Implement `HashTable::try_ensure_capacity`, as used in `HashMap`James Puleo
This was used in `HashMap::try_ensure_capacity`, but was missing from `HashTable`s implementation. No one had used `HashMap::try_ensure_capacity` before so it went unnoticed!
2022-01-25CrashReporter: Dispatch backtrace progress callbacks on the main threadAndreas Kling
We can't fiddle with GUI widgets off the main thread, so let's use Core::EventLoop::deferred_invoke() to dispatch the work. The progress bar doesn't visibly update yet, but at least we're not crashing anymore.
2022-01-25LibThreading: Invoke BackgroundAction completions on origin event loopAndreas Kling
We now capture the origin thread's current event loop when setting up a BackgroundAction and then invoke the on_complete callback on that same event loop.
2022-01-25LibCore: Make Core::s_main_event_loop actually globalAndreas Kling
This was accidentally per-TU, as it was declared "static" in the header.
2022-01-25Kernel: Replace String with NonnullOwnPtr<KString> in sys$getkeymapIdan Horowitz
2022-01-25Base: Add Arabic characters to font Katica Regular 10Lady Gegga
0606, 0607, 0609, 060A, 060B, 060C, 060D, 061B, 0621, 0622, 0623, 0624, 0625, 0626, 0627, 0628, 0629, 062A, 062B, 062C, 062D, 062E, 062F, 0630, 0631, 0632, 0633, 0634, 0635, 0636, 0637, 0638, 0639, 063A, 063B, 063C, 0640, 0641, 0642, 0643, 0644, 0645, 0646, 0647, 0648, 0649, 064A, 064B, 064D, 064E, 0650, 0651, 0652, 0653, 0654, 0655, 0656, 0657, 0658, 0659, 065A, 065B, 0660, 0661, 0662, 0663, 0664, 0665, 0666, 0667, 0668, 0669, 066D, 066E, 067A, 067B, 067C, 067D, 067E, 067F, 0680, 068A, 068C, 068D, 068E, 068F, 0690, 0692, 0694, 0696, 0697, 0698, 0699, 069A, 069B, 069C, 069D, 069E, 069F, 06A1, 06A2, 06A3, 06A4, 06A5, 06A6, 06B1, 06B2, 06B5, 06B6, 06B7, 06B8, 06D2, 06D3, 06F0, 06F1, 06F2, 06F3, 06F4, 06F5, 06F6, 06F7, 06F8, 06F9 https://www.unicode.org/charts/PDF/U0600.pdf
2022-01-25tree: Port to LibMainNames4Noobs
2022-01-25rmdir: Port to LibMainAriel Abreu
2022-01-25rm: Port to LibMainAriel Abreu
2022-01-25md: Port to LibMainFabian INGREMEAU