Age | Commit message (Collapse) | Author |
|
Also make the AlignmentValue struct private, and initialize the Vector
in one go instead of empending.
|
|
This will allow using the console tty and WindowServer regardless of
your kernel command line. Also this fixes a bug where, when booting in
text mode, the console was in graphical mode, and would not accept
input.
|
|
This is a copy of linux's KDSETMODE/KDGETMODE console ioctl(2)
interface.
|
|
The `options` parameter is no longer required by the function, so we can
stop passing in options as well where not required by the spec.
|
|
Ports like SDL2 can depend on headers that try to include `Debug.h`.
|
|
|
|
Useful for debugging.
|
|
No functional changes.
|
|
The endpoints were included with a relative path that does not work by
default when compiling ports. Include them from a root-relative path
instead.
|
|
|
|
...and change how the two parsing steps fit together.
The two steps were previously quite muddled. Both worked with the
TokenStream directly, and both were responsible for rewinding that
stream if there was an error. This is both confusing and also made it
impossible to replace the rewinding with StateTransactions.
This commit more clearly divides the work between the two functions: One
parses ComponentValues and produces a string, and the other parses that
string to produce the UnicodeRange. It also replaces manual rewinding
in the former with StateTransactions.
|
|
|
|
|
|
This should be a bit easier to follow.
parse_media_query() no longer rewinds if the media query is invalid,
because it then interprets all the tokens as a "not all" query.
|
|
|
|
I accidentally broke parsing of internal whitespace (eg `-3n + 7`
instead of `-3n+7`) when implementing `:nth-child(An+B of foo)`.
|
|
This is modeled after the one in ISO8601Parser. It rolls back the
TokenStream state automatically at the end of scope unless told to
commit the changes. This should be less error-prone than remembering to
manually call `rewind_to_position()` at the correct time.
For convenience, a StateTransaction can have "child" transactions. When
a transaction is committed, it automatically commits its parents too.
This is useful in situations where you have several nested and don't
want to have to remember to manually `commit()` them all.
|
|
`a` and `b` had to be declared at the top of the function before since
they were used by the `make_return_value()` lambda. But now that
doesn't exist, we can move them to where they are used - or eliminate
them entirely.
|
|
parse_a_n_plus_b_pattern()'s job is to parse as much of the TokenStream
as it can as a An+B, and then stop. The caller can then deal with any
trailing tokens as it wishes.
|
|
|
|
...using a ParseErrorOr type alias.
This lets us replace a bunch of manual error-checking with TRY. :^)
I also replaced the ParsingResult::Done value with returning an
Optional. I wasn't happy with treating "Done" as an error when I first
wrote this, and this makes a clear distinction between the two.
|
|
This always has a value, so let's make that clearer.
|
|
Using ~~text~~ syntax will strike out the text between the two tildes.
Only missing portion is the terminal rendering of strike through text.
The ansi escape codes for strike through text are \e[9m and \e[29m but
it appears the terminal does not support these. Please correct me if I
am wrong.
I tested that the render_to_terminal function was being called by giving
it bold ANSI escape codes, and that did work so the function is being
called correctly.
|
|
- Adding more suitable "icons-only" buttons.
- Adding WindowShadow from default theme.
|
|
This state has been occasionally missed in themes, adding it
to the preview may help avoid that.
|
|
|
|
That code used the old AK::Result container, which leads to overly
complicated initialization flow when trying to figure out the correct
partition table type. Instead, when using the ErrorOr container the code
is much simpler and more understandable.
|
|
This exposes the global routing table in the /proc directory and adds
the userspace utility to query dynamically add from the table.
|
|
Each of these string copies are already inside of an ErrorOr context so
any failed copy should propagate.
|
|
Previously the system had no concept of assigning different routes for
different destination addresses as the default gateway IP address was
directly assigned to a network adapter. This default gateway was
statically assigned and any update would remove the previously existing
route.
This patch is a beginning step towards implementing #180. It implements
a simple global routing table that is referenced during the routing
process. With this implementation it is now possible for a user or
service (i.e. DHCP) to dynamically add routes to the table.
The routing table will select the most specific route when possible. It
will select any direct match between the destination and routing entry
addresses. If the destination address overlaps between multiple entries,
the Kernel will use the longest prefix match, or the longest number of
matching bits between the destination address and the routing address.
In the event that there is no entries found for a specific destination
address, this implementation supports entries for a default route to be
set for any specified interface.
This is a small first step towards enhancing the system's routing
capabilities. Future enhancements would include referencing a
configuration file at boot to load pre-defined static routes.
|
|
We can use the same enum cases to apply to updates on different
networking tables within the Kernel (i.e. a routing table)
|
|
|
|
This was resolved in commit f25123df66.
|
|
|
|
The main event loop functionality was used in just two places where the
alternative is a bit simpler. Remove it in favor of referencing the
event loop directly, or just invoking `EventLoop::current()`.
Note that we don't need locking in the constructor since we're now only
modifying a thread-local `Vector`. We also don't need locking in the
old call sites to `::with_main_locked()` since we already lock the
event loop in the subsequent `::post_event()` invocation.
|
|
|
|
|
|
|
|
HoriziontalRule -> HorizontalRule
|
|
The current message distinguishes between a user that doesn't exist, and
an invalid password. This is considered to be bad practice, because an
attack can first check if a user exists before guessing that users
password.
Also it's just tradition or something.
|
|
|
|
|
|
This is kind of redundant but probably easier to read than the ASCII
column. Also, it seems appropriate after we add other character
encodings.
|
|
|
|
This is very annoying if we're (intentionally) passing invalid UTF8 into
Utf8View.
|
|
Adjust the nested namespace formatting in PCI files to use the nicer
and more consistent C++17 style.
|
|
Moved constants in USBRequest.h from global scope to the Kernel::USB
namespace.
|
|
This patch fixes the issue of pressing the ok button of a settings menu
without saving the changes, or not reverting the changes when pressing
the cancel button because the app has died before the new values make
it to the other end.
|
|
This should make clangd work very well. I totally forgot to add this...
|
|
The packages.db file now resides in Serenity's root.
|