Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-07-27 | AK: Rename Span::subspan() to Span::slice(). | asynts | |
2020-07-27 | AK: Add offset() method to Span. | asynts | |
2020-07-27 | AK: Add span() / bytes() methods to container types. | asynts | |
2020-07-27 | AK: Add implicit conversion from nullptr to Span. | asynts | |
2020-07-27 | AK: Add constructors to Bytes and ReadonlyBytes that take void pointers. | asynts | |
2020-07-27 | AK: Define conversion from Span<T> to Span<const T> correctly. | asynts | |
I accidently wrote `Span<RemoveConst<T>>` when I meant `Span<RemoveConst<T>::Type>`. Changing that wouldn't be enough though, this constructor can only be defined if T is not const, otherwise it would redefine the copy constructor. This can be avoided by overloading the cast operator. | |||
2020-07-27 | LibCrypto: This method wrote to a const pointer. | asynts | |
2020-07-27 | WebServer: Try to send an appopriate Content-Type header | Andreas Kling | |
Use Core::guess_mime_type_based_on_filename() for this. It's obviously not perfect, but it works better than just sending "text/html" for everything no matter what. :^) | |||
2020-07-27 | LibCore+LibWeb: Move guess-mimetype-based-on-filename logic to LibCore | Andreas Kling | |
This could be useful in more places. | |||
2020-07-27 | Base: Remove old ladybug icon | Andreas Kling | |
2020-07-27 | WebServer: Use table tags in directory listings | Andreas Kling | |
Use tables to align stuff instead of putting everything in a <pre>. | |||
2020-07-27 | WebServer: Use urlencode() in directory listings | Andreas Kling | |
2020-07-27 | LibWeb: Add a whole bunch of HTML DOM bindings | Luke | |
Note that these aren't full implementations of the bindings. This mostly implements the low hanging fruit (namely, basic reflections) There are some attributes that should be USVString instead of DOMString. However, USVString is a slightly different definition of DOMString, so it should suffice for now. | |||
2020-07-27 | UserspaceEmulator: Set the process and thread name to "(UE) Executable" | Andreas Kling | |
This makes it much easier to see who's who when running multiple emulators at the same time. :^) | |||
2020-07-27 | Base: Add man page about set_process_name(2) | Andreas Kling | |
2020-07-27 | Kernel+LibC: Add sys$set_process_name() for changing the process name | Andreas Kling | |
2020-07-27 | UserspaceEmulator: Implement the execve() syscall :^) | Andreas Kling | |
This virtual syscall works by exec'ing the UserspaceEmulator itself, with the emulated program's provided arguments as the arguments to the new UserspaceEmulator instance. This means that we "follow" exec'ed programs and emulate them as well. In the future we might want to make this an opt-in (or opt-out, idk) behavior, but for now it's what we do. This is really quite cool, I think! :^) | |||
2020-07-27 | LibC: Make the getpid() cache process global (instead of thread-local) | Andreas Kling | |
Every thread in the process will have the same PID, after all. | |||
2020-07-27 | UserspaceEmulator: Implement the fork() syscall :^) | Andreas Kling | |
2020-07-27 | LibGfx: Fix dumb typo in PNG decoder | Andreas Kling | |
'=' is not the same as '*', indeed. | |||
2020-07-27 | top: Don't print more lines than the terminal can fit | Andreas Kling | |
2020-07-27 | top: Limit printed process name characters to the available space | Andreas Kling | |
It looks much nicer if we don't break the line. You can resize the terminal if you want to see the full process name. | |||
2020-07-27 | top: Tweak username column width to accomodate "clipboard" | Andreas Kling | |
2020-07-27 | LibGfx: Simplify some excessive use of pow() in scanline unfiltering | Andreas Kling | |
2020-07-27 | UserspaceEmulator: Implement the setuid() and setgid() syscalls | Andreas Kling | |
Note that running a setuid program (e.g /bin/ping) in UE does not actually run uid=0. You'll have to run UE itself as uid=0 if you want to test programs that do setuid/setgid. | |||
2020-07-27 | UserspaceEmulator: Implement the accept() and setsockopt() syscalls | Andreas Kling | |
It's now possible to run LookupServer in UE (by setting up SystemServer to run the service inside UE.) No bugs found, but very cool! :^) | |||
2020-07-27 | UserspaceEmulator: Transfer the environment to the emulated process | Andreas Kling | |
2020-07-27 | AK+LibC: Always use REP MOVSB/STOSB for memcpy()/memset() | Andreas Kling | |
There's no great advantage to using MMX instructions here on modern processors, since REP MOVSB/STOSB are optimized in microcode anyway and tend to run much faster than MMX/SSE/AVX variants. This also makes it much easier to implement high-level emulation of memcpy/memset in UserspaceEmulator once we get there. :^) | |||
2020-07-27 | UserspaceEmulator: Mark SimpleRegions as initialized up front for now | Andreas Kling | |
This prevents some false positives since the initial stack is expected to be zero-initialized. | |||
2020-07-27 | UserspaceEmulator: Recognize xor/sub zeroing idioms and don't taint | Andreas Kling | |
"xor reg,reg" or "sub reg,reg" both zero out the register, which means we know for sure the result is 0. So mark the value as initialized, and make sure we don't taint the CPU flags. This removes some false positives from the uninitialized memory use detection mechanism. Fixes #2850. | |||
2020-07-27 | Eyes: Fix division by zero when invoked as 'Eyes' | AnotherTest | |
2020-07-27 | Eyes: Allow constructing an eye-grid | AnotherTest | |
Because a line of eyes is just not impressive enough. This does not change any of the default behaviours except breaking the line of eyes at 13 eyes (the 'sweet spot' for the default resolution) | |||
2020-07-27 | CppLexer: Support raw string literals | Nico Weber | |
Handles prefixes and delimiters (`R"(text)", `u8R"f(text)f"`, ...). | |||
2020-07-27 | CppLexer: Support L, u, u8, U prefixes on string and char literals | Nico Weber | |
2020-07-27 | CppLexer: Correctly highlight hex escapes in string and char literals | Nico Weber | |
\x consumes all hex digits following it. (If the resulting number then doesn't fit in the character type, the compiler emits an error.) \x would be much more convenient to use if it was always followed by exactly two hex digits (with \u and \U for higher codepoints), but that's sadly not the world we live in. | |||
2020-07-27 | CppLexer: Support \U escapes in addition to \u escapes | Nico Weber | |
2020-07-27 | Shell: Ignore leading semicolons | AnotherTest | |
This makes things like `foo&; bar` behave as expected. Such behaviour is actually closer to the grammar defined in Parser.h anyway :P | |||
2020-07-27 | LibGfx: Templatize Point, Size, and Rect | Matthew Olsson | |
2020-07-27 | CppLexer: Add token types for "::", "::*", ".*", "->*" | Nico Weber | |
2020-07-27 | CppLexer: Add token types for ".", "->" | Nico Weber | |
2020-07-27 | CppLexer: Add token types for "!", "!=", "~", "?", ":" | Nico Weber | |
2020-07-27 | CppLexer: Add token types for "^", "^=" | Nico Weber | |
2020-07-27 | CppLexer: Add token types for "++", "--" | Nico Weber | |
2020-07-27 | CppLexer: Add token types for "&", "&&", "&=", "|", "||", "|=" | Nico Weber | |
2020-07-27 | CppLexer: Add token types for ">", ">=", ">>", ">>=" | Nico Weber | |
2020-07-27 | CppLexer: Add token types for "<", "<=", "<<", "<<=", "<>" | Nico Weber | |
2020-07-27 | Kernel: Support file-backed mmap() with non-zero offset | Andreas Kling | |
As it turns out, this works just fine and all we had to do was remove the assertion! :^) Fixes #2597. | |||
2020-07-27 | LibDebug: Add support for the various DW_FORM_block types | Itamar | |
This fixes #2885. | |||
2020-07-27 | Meta: Cache ccache on travis-ci | Peter Elliott | |
2020-07-27 | Base: Add characters to default fonts | thankyouverycool | |
Updates the Extended-A block for Katica and Csilla. Corrects some heights, accents and capitalizations. Slims the 'A', 'C', and 'G' in CsillaThin. |