Andreas Kling
09e89cc55d
Revert "AK: Made Strings reversible"
...
This reverts commit 26e81ad574
.
We forgot to consider UTF-8 here. String is UTF-8 and we need to be
careful about things like this.
2019-09-13 14:37:25 +02:00
Jesse Buhagiar
26e81ad574
AK: Made Strings reversible
...
`AK::String` can now be reversed via AK::String::reverse(). This makes
life a lot easier for functions like `itoa()`, where the output
ends up being backwards. Very much not like the normal STL
(which requires an `std::reverse` object) way of doing things.
A call to reverse returns a new `AK::String` so as to not upset any
of the possible references to the same `StringImpl` shared between
Strings.
2019-09-13 13:54:07 +02:00
Andreas Kling
583606a2b1
StringImpl: Fix possible uninitialized access in StringImpl::create().
...
If the provided length is 0, there's no need to dereference the const char*.
2019-06-24 14:38:44 +02:00
Andreas Kling
90b1354688
AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr.
2019-06-21 18:37:47 +02:00
Andreas Kling
a7dc1a7d6b
AK: Make StringImpl a bit smaller.
...
There's no need for a member char* m_characters if we always store them
in the inline buffer. So with this patch, we now do.
After that, rearrange the members a bit for ideal packing. :^)
2019-06-20 13:23:48 +02:00
Andreas Kling
255c7562ba
AK: Massage it into building on my host system without breaking Serenity.
2019-06-14 06:43:56 +02:00
Robin Burchell
0dc9af5f7e
Add clang-format file
...
Also run it across the whole tree to get everything using the One True Style.
We don't yet run this in an automated fashion as it's a little slow, but
there is a snippet to do so in makeall.sh.
2019-05-28 17:31:20 +02:00
Andreas Kling
f93b3b7806
AK: Improve StringImpl chomping a bit.
...
Chomp off any number of trailing [\0\n\r] characters and trim the allocation
to fit instead of keeping the original size.
2019-04-07 20:21:11 +02:00
Andreas Kling
90f60d2f65
Kernel: Cache MAC<->IP mappings (from ARP responses) seen on the wire.
2019-03-12 00:56:33 +01:00
Andreas Kling
9624b54703
More moving towards using signed types.
...
I'm still feeling this out, but I am starting to like the general idea.
2019-02-25 22:06:55 +01:00
Andreas Kling
15fb917f28
Convert more RetainPtr use to Retained.
2019-02-25 16:04:08 +01:00
Andreas Kling
e74c833af3
AK: Fix broken instrumentation code for StringImpl.
2019-02-17 10:35:48 +01:00
Andreas Kling
a1b63bb6d4
Bootloader: Locate the kernel's data segment and clear it.
...
This was a constant source of stupid bugs and I kept postponing it because
I wasn't in the mood to write assembly code. Until now! :^)
2019-02-06 16:02:10 +01:00
Andreas Kling
dddd0e7b03
Get nyancat nyanning in Serenity.
...
I found a cute program that renders an animated nyancat in the terminal.
This patch adds enough hackery to get it working correctly. :^)
2019-02-03 16:11:28 +01:00
Andreas Kling
ffab6897aa
Big, possibly complete sweep of naming changes.
2019-01-31 17:31:23 +01:00
Andreas Kling
ab72666f48
Plug leaks in SynthFS::remove_file().
...
The process spawn stress test can now run forever. :^)
2018-12-28 03:09:45 +01:00
Andreas Kling
ec1c487dcd
Yet another pass of style fixes.
2018-12-21 02:10:45 +01:00
Andreas Kling
ca6847b5bb
Import a simple text editor I started working on.
2018-12-04 00:27:16 +01:00
Andreas Kling
ebf308d413
Make kernel build with clang.
...
It's a bit faster than g++ and seems to generate perfectly fine code.
The kernel is also roughly 10% smaller(!)
2018-11-09 12:22:31 +01:00
Andreas Kling
8135952832
Add a Chomp feature to String construction that removes a trailing newline.
...
This will be useful in many situations.
2018-11-07 00:19:35 +01:00
Andreas Kling
c8b7173aa8
Add a CircularQueue template class to AK.
2018-10-22 22:46:02 +02:00
Andreas Kling
702d308e67
Oops, StringImpl's "the empty string" global was not always initialized.
...
These "oops forgot to initialize" bugs are getting annoying...
2018-10-22 13:10:08 +02:00
Andreas Kling
9171521752
Integrate ext2 from VFS into Kernel.
2018-10-17 10:57:23 +02:00
Andreas Kling
fd708a4cb1
Reduce dependence on STL.
2018-10-16 12:11:27 +02:00
Andreas Kling
5a30055157
Import all this stuff into a single repo called Serenity.
2018-10-10 11:53:07 +02:00