ladybird/Userland/Utilities
Timothy Flynn 1504469c50 js: Implement the exit builtin without calling the native exit function
If we invoke the exit native function from within the exit builtin, the
native call will then invoke global destructors. This ultimately ends up
deleting the JS::NativeFunction that defines the exit builtin, thus we
try to delete the AK::Function held inside the NativeFunction while that
AK::Function is executing. This is explicitly forbidden by AK::Function.

Instead, simply set a flag to exit the REPL after the builtin executes.
2023-10-30 18:12:17 +01:00
..
pkg pkg: Parse dependencies as part of the main port entry 2023-10-04 22:28:05 +02:00
abench.cpp Utilities: Use elapsed_milliseconds() instead of elapsed() 2023-05-24 15:50:43 +02:00
aconv.cpp aconv: Override encoder in output metadata 2023-08-29 10:43:34 +02:00
adjtime.cpp Utilities: Use lround() instead of casting round() to long 2023-04-22 07:17:08 +02:00
allocate.cpp Utilities/allocate: Modernize the code a bit 2023-07-05 08:34:51 +02:00
aplay.cpp AudioServer+Userland: Decouple client sample rates from device rate 2023-07-01 23:27:24 +01:00
arp.cpp arp: Stop using DeprecatedString 2023-04-22 07:17:08 +02:00
asctl.cpp AudioServer+Userland: Separate audio IPC into normal client and manager 2023-06-25 00:16:44 +02:00
base64.cpp LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
basename.cpp Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
beep.cpp Kernel+Userland: Add support for using the PCSpeaker with various tones 2023-03-05 08:38:29 +00:00
blockdev.cpp blockdev: Use Core::System::open() instead of LibC open() 2023-01-08 15:19:59 +00:00
bt.cpp AK: Port URL::m_query from DeprecatedString to String 2023-08-13 15:03:53 -06:00
cal.cpp Userland: Don't use String::from_utf8() for literal strings 2023-09-15 08:44:52 +02:00
cat.cpp AK: Rename Stream::{read,write} to Stream::{read_some,write_some} 2023-03-13 15:16:20 +00:00
checksum.cpp checksum: Add support for BLAKE2b 2023-09-17 16:49:35 +03:30
chgrp.cpp chgrp: Add support for multiple file paths 2023-06-26 19:26:20 +02:00
chmod.cpp chmod: Don't bail immediately on error 2023-06-18 20:34:04 +02:00
chown.cpp chown: Don't bail immediately on error 2023-06-19 06:14:02 +02:00
chres.cpp LibGUI: Make Application's construction fallible 2023-05-05 16:41:21 +01:00
cksum.cpp cksum: Stop using DeprecatedString 2023-04-22 07:17:08 +02:00
clear.cpp Utilities: Use default execpromises parameter to pledge(..) 2022-04-03 17:13:51 -07:00
CMakeLists.txt Utilities: Implement slugify using AK/Slugify 2023-10-30 10:39:59 +00:00
cmp.cpp AK: Add the Input word to input-only buffered streams 2023-05-09 11:18:46 +02:00
comm.cpp AK: Add the Input word to input-only buffered streams 2023-05-09 11:18:46 +02:00
config.cpp config: Stop using DeprecatedString 2023-04-22 07:17:08 +02:00
copy.cpp LibGUI: Make Application's construction fallible 2023-05-05 16:41:21 +01:00
cp.cpp cp: Prefer FileSystem over DeprecatedFile 2023-05-19 21:12:15 +02:00
cpp-lexer.cpp LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
cpp-parser.cpp LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
cpp-preprocessor.cpp LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
cut.cpp cut: Add -s option to suppress lines without field delimiters 2023-06-26 19:49:34 +02:00
date.cpp Everywhere: Remove unused DeprecatedString includes 2023-04-09 22:00:54 +02:00
dd.cpp dd: Print elapsed time and write speed after copying 2023-06-07 00:45:26 +02:00
df.cpp LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
diff.cpp Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2023-07-15 16:21:29 +02:00
dirname.cpp dirname: Add support for multiple paths 2023-06-22 17:26:51 -04:00
disasm.cpp LibCore: Make MappedFile a Stream 2023-09-27 03:22:56 +02:00
disk_benchmark.cpp AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
dmesg.cpp LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
du.cpp du: Add -x option to not traverse directories across filesystems 2023-10-19 14:41:09 +02:00
echo.cpp AK: Remove StringBuilder::build() in favor of to_deprecated_string() 2023-01-27 20:38:49 +00:00
env.cpp env: Add -u option to unset environment variables 2023-06-26 19:27:45 +02:00
errno.cpp errno: Remove usage of DeprecatedString 2023-05-11 16:33:18 +02:00
expr.cpp AK: Remove StringBuilder::build() in favor of to_deprecated_string() 2023-01-27 20:38:49 +00:00
false.cpp false: Port to LibMain 2022-01-14 19:42:19 +02:00
fdtdump.cpp LibCore: Make MappedFile a Stream 2023-09-27 03:22:56 +02:00
file.cpp LibArchive: Extract logic for calculating ZIP statistics 2023-07-30 22:16:40 +01:00
find.cpp find: Add the -path and -ipath options 2023-10-18 06:36:34 -04:00
flock.cpp Everywhere: Remove unused includes of LibC/stdlib.h 2023-01-02 20:27:20 -05:00
fortune.cpp fortune: Use simple formatting when stdout isn't connected to a terminal 2023-08-06 08:58:00 +02:00
functrace.cpp LibCore: Rename File to DeprecatedFile 2023-02-13 00:50:07 +00:00
glsl-compiler.cpp Userland: Add glsl-compiler utility that prints parsed AST 2023-08-18 15:29:48 +02:00
gml-format.cpp Everywhere: Remove unintentional partial stream reads and writes 2023-03-13 15:16:20 +00:00
grep.cpp grep: Hyperlink filenames in tty 2023-10-06 08:10:00 +02:00
gron.cpp Userland+AK: Stop using getopt() for ArgsParser 2023-02-28 15:52:24 +03:30
groupadd.cpp groupadd: Add -U option for adding members to a new group 2023-06-21 12:27:46 +02:00
groupdel.cpp groupdel: Ensure the veil is closed after required files are unveiled 2023-06-19 18:56:36 +02:00
groups.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
gunzip.cpp Utilities: Add zcat 2023-08-13 10:16:03 +01:00
gzip.cpp gzip: Use utilities from LibCompress to (de)compress files 2023-04-01 08:15:49 +02:00
head.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
headless-browser.cpp Ladybird+WebContent: Add option to use GPU painter 2023-10-29 17:13:23 +01:00
hello-world.jakt Meta+Userland: Add jakt as an optional Lagom Tool 2022-05-23 23:05:45 +02:00
hexdump.cpp Utilities: Replace ctype.h usage with AK/CharacterTypes.h 2023-04-22 07:17:08 +02:00
host.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
hostname.cpp Userland: Convert command line arguments to String/StringView 2022-07-12 23:11:35 +02:00
icc.cpp icc: Add a --measure flag that prints color difference in profile 2023-04-30 05:57:20 +02:00
id.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
ifconfig.cpp LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
image2bin.cpp LibGfx: Remove try_ prefix from bitmap creation functions 2023-01-26 20:24:37 +00:00
image.cpp LibGfx: Remove indexed palette formats from Bitmap and Painter 2023-10-12 07:39:05 +02:00
ini.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
install.cpp install: Prefer FileSystem over DeprecatedFile 2023-05-19 21:12:15 +02:00
isobmff.cpp LibGfx: Add initial ISO BMFF parsing and a utility to print file info 2023-07-27 12:02:37 +01:00
jail-attach.cpp Kernel: Allow configuring a Jail to not impose PID isolation restriction 2023-04-24 12:15:29 +02:00
jail-create.cpp Kernel: Allow configuring a Jail to not impose PID isolation restriction 2023-04-24 12:15:29 +02:00
js.cpp js: Implement the exit builtin without calling the native exit function 2023-10-30 18:12:17 +01:00
json.cpp LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
kcov-example.cpp Kernel+Userland: Unify declarations for KCOV in Kernel/API/kcov.h 2023-02-24 20:35:45 +01:00
keymap.cpp Everywhere: Remove needless copies of Error / ErrorOr instances 2023-02-10 09:08:52 +00:00
kill.cpp kill: Parse multi-digit signal numbers correctly 2023-06-07 00:24:09 +02:00
killall.cpp killall: Continue killing processes if kill() call fails 2023-05-31 06:00:45 +02:00
ldd.cpp ldd: Pledge map_fixed 2023-04-17 19:29:20 -04:00
less.cpp less: Add the -F option to quit if the input fits on one screen 2023-09-27 20:00:34 +02:00
ln.cpp Everywhere: Remove needless copies of Error / ErrorOr instances 2023-02-10 09:08:52 +00:00
logout.cpp Userland: Remove a bunch of unveil calls on /sys/kernel/processes 2023-01-13 13:41:30 +01:00
ls.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
lsblk.cpp LibCore+Everywhere: Return an Error from DirIterator::error() 2023-03-05 20:23:42 +01:00
lscpu.cpp Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
lsirq.cpp lsirq: Restore enumeration of interrupt line 2023-05-17 06:42:21 +02:00
lsjails.cpp LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
lsof.cpp Utilities: Replace ctype.h usage with AK/CharacterTypes.h 2023-04-22 07:17:08 +02:00
lspci.cpp LibCore+Everywhere: Return an Error from DirIterator::error() 2023-03-05 20:23:42 +01:00
lsusb.cpp Everywhere: Remove unused DeprecatedString includes 2023-04-09 22:00:54 +02:00
lzcat.cpp AK: Add the Input word to input-only buffered streams 2023-05-09 11:18:46 +02:00
man.cpp Utilities: Fix title formatting in man 2023-08-12 01:50:49 +02:00
markdown-check.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
matroska.cpp AK+Everywhere: Do not implicitly copy variables in TRY macros 2023-02-10 09:08:52 +00:00
md.cpp LibMarkdown: Convert render_to_terminal to String 2023-07-03 02:05:32 +02:00
memstat.cpp Utilities: Add the memstat utility 2023-07-05 08:34:51 +02:00
mkdir.cpp mkdir: Add -v option to print a message for each created directory 2023-06-22 22:35:30 +02:00
mkfifo.cpp mkfifo: Don't rely on global errno 2023-05-22 10:24:08 +02:00
mknod.cpp mknod: Add option for specifying file permissions 2023-06-07 01:01:58 +02:00
mktemp.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
mount.cpp Kernel+Userland: Split bind-mounting and re-mounting from mount syscall 2023-05-17 23:39:15 -06:00
mv.cpp mv: Prefer FileSystem over DeprecatedFile 2023-05-19 21:12:15 +02:00
nc.cpp Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
netstat.cpp Userland: Prefer _string over _short_string 2023-08-08 07:37:21 +02:00
network-settings.cpp Userland+Meta: Add new helper program for network settings 2023-05-13 17:59:37 -06:00
nl.cpp nl: Don't output a new line on empty file 2023-06-09 17:24:59 +02:00
nohup.cpp nohup: Don't leak fd used to open nohup.out 2023-07-31 10:47:59 +02:00
nologin.cpp LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
notify.cpp Userland: Prefer non-fallible construction for LibGUI objects 2023-09-18 18:00:45 +02:00
nproc.cpp LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
ntpquery.cpp Utilities: Fix building ntpquery without SO_TIMESTAMP 2023-09-06 11:41:16 -06:00
open.cpp open: Display a meaningful error if the specified file doesn't exist 2023-10-06 08:20:28 +02:00
passwd.cpp passwd: Use StringView instead of DeprecatedString 2023-01-08 17:10:53 +01:00
paste.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
patch.cpp LibDiff+patch: Support multiple patches in a single patch file 2023-07-30 07:47:22 +01:00
pathchk.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
pdf.cpp pdf: Load fonts in debug mode via Core::Resource URIs 2023-10-17 11:02:01 -06:00
pgrep.cpp pgrep: Add -O option to filter processes by age 2023-06-10 07:13:25 +02:00
pidof.cpp pidof: Add -S option to specify a pid separator 2023-05-15 06:57:44 +02:00
ping.cpp Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
pixelflut.cpp Userland: Return empty if ImageDecoder client receives an invalid frame 2023-10-03 08:33:53 +02:00
pkill.cpp pkill: Add -O option to filter processes by age 2023-06-16 07:22:45 +02:00
pledge.cpp LibFileSystem+Everything: Remove resolve_executable_from_environment 2023-06-06 23:46:36 +02:00
pls.cpp Userland/pls: Use Core::System::exec_command method to execute a command 2022-11-05 18:00:58 -06:00
pmap.cpp LibCore+Everywhere: Remove ArgsParser::add*(char const*&) 2023-03-01 10:47:19 +01:00
pmemdump.cpp Everywhere: Remove unused includes of LibC/stdlib.h 2023-01-02 20:27:20 -05:00
printf.cpp AK: Remove StringBuilder::build() in favor of to_deprecated_string() 2023-01-27 20:38:49 +00:00
pro.cpp AK: Serialize URL hosts with 'concept-host-serializer' 2023-07-31 05:18:51 +02:00
profile.cpp Kernel+ProfileViewer: Display additional filesystem events 2023-09-09 11:26:51 -06:00
ps.cpp Utilities/ps: Add process start time column in full format mode 2023-08-27 22:53:22 +02:00
purge.cpp purge: Port to LibMain 2022-03-22 11:39:20 +01:00
pwd.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
readelf.cpp LibELF+readelf: Add missing constants for dynamic relocations 2023-08-18 16:20:13 +02:00
readlink.cpp readlink: Prefer FileSystem::readlink over DeprecatedFile 2023-05-15 06:50:43 +02:00
realpath.cpp realpath: Add the -q option to suppress error messages 2023-10-02 20:56:38 +02:00
reboot.cpp Everywhere: Remove unintentional partial stream reads and writes 2023-03-13 15:16:20 +00:00
rev.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
rm.cpp Everywhere: Use LibFileSystem where trivial 2023-03-21 19:03:21 +00:00
rmdir.cpp rmdir: Add -v option to list each directory as it is removed 2023-06-19 22:52:15 +02:00
route.cpp LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
run-tests.cpp run-tests: Correct logic for calculating number of skipped/xfail tests 2023-07-30 07:47:22 +01:00
sed.cpp Userland: Prefer _string over _short_string 2023-08-08 07:37:21 +02:00
seq.cpp Everywhere: Remove unused DeprecatedString includes 2023-04-09 22:00:54 +02:00
shot.cpp Userland: Make Window::set_main_widget() non-fallible 2023-09-21 10:20:23 +02:00
shuf.cpp shuf: Add -r option to allow output lines to be repeated 2023-05-18 21:06:37 -06:00
shutdown.cpp Everywhere: Remove unintentional partial stream reads and writes 2023-03-13 15:16:20 +00:00
sleep.cpp Utilities: Use default execpromises parameter to pledge(..) 2022-04-03 17:13:51 -07:00
slugify.cpp Utilities: Implement slugify using AK/Slugify 2023-10-30 10:39:59 +00:00
sort.cpp sort: Allow multi-character separators to be given with the -t option 2023-08-27 15:42:46 -04:00
sql.cpp sql: Change the short-name flag for the SQLServer path 2023-08-18 16:10:17 -04:00
stat.cpp stat: Show the device ID for the given file 2023-10-01 13:34:41 +02:00
strace.cpp Userland: Teach strace(1) to format pledge(2) 2023-07-29 16:51:58 -06:00
strings.cpp Utilities: Use new ArgsParser method for enum values 2023-09-24 23:41:22 +02:00
stty.cpp Utilities: Replace ctype.h usage with AK/CharacterTypes.h 2023-04-22 07:17:08 +02:00
su.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
sync.cpp sync: Port to LibMain 2022-02-01 04:58:24 +00:00
syscall.cpp LibCore+Userland: Remove ArgsParser::add*(Vector<char const*>&) 2023-03-01 10:47:19 +01:00
sysctl.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
tac.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
tail.cpp tail: Count lines correctly when file ends with two or more newlines 2023-05-21 07:49:43 +02:00
tar.cpp tar: Wire up compressing .tar files with LZMA 2023-05-17 09:08:53 +02:00
tee.cpp Everywhere: Use my fairly new and shiny serenityos.org email :^) 2022-06-30 15:59:42 +01:00
telws.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
test_env.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
test-bindtodevice.cpp test-bindtodevice: Port to LibMain 2022-03-29 21:28:29 -07:00
test-fuzz.cpp Fuzzers: Add WOFF2 fuzzer 2023-10-24 13:45:01 +02:00
test-imap.cpp LibIMAP: Stop parsing immediately on error 2023-10-13 11:12:18 -06:00
test-pthread.cpp test-pthread: Check for correct return value from sem_trywait() 2023-05-13 17:05:59 +02:00
test-unveil.cpp Userland+AK: Stop using getopt() for ArgsParser 2023-02-28 15:52:24 +03:30
test.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
timezone.cpp LibTimeZone+Userland: Include Link entries when returning all time zones 2023-10-05 17:01:02 +02:00
top.cpp top: Re-enable non-blocking I/O on stdin 2023-08-18 11:09:27 +01:00
touch.cpp touch: Don't bail immediately on error 2023-06-22 00:09:26 +02:00
tr.cpp Utilities: Replace ctype.h usage with AK/CharacterTypes.h 2023-04-22 07:17:08 +02:00
traceroute.cpp LibCore+Everywhere: Remove ArgsParser::add*(char const*&) 2023-03-01 10:47:19 +01:00
tree.cpp LibCore+Everywhere: Return an Error from DirIterator::error() 2023-03-05 20:23:42 +01:00
true.cpp true: Port to LibMain 2022-03-22 11:39:20 +01:00
truncate.cpp truncate: Clamp file size to 0 when using the -s option 2023-07-26 08:42:05 +02:00
tsort.cpp AK: Add take_first to HashTable and rename pop to take_last 2023-02-21 22:13:06 +01:00
tt.cpp LibCore+Everywhere: Remove ArgsParser::add*(char const*&) 2023-03-01 10:47:19 +01:00
ttfdisasm.cpp LibGfx+Utilities: Add helpers to load vector fonts from Core::Resources 2023-10-29 13:12:28 -06:00
tty.cpp tty: Port to LibMain 2022-03-29 21:28:29 -07:00
umount.cpp umount: Port to LibMain 2022-01-22 13:31:52 +02:00
uname.cpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
uniq.cpp AK: Add the Input word to input-only buffered streams 2023-05-09 11:18:46 +02:00
unveil.cpp LibCore: Rename File to DeprecatedFile 2023-02-13 00:50:07 +00:00
unzip.cpp LibCore: Make MappedFile OwnPtr-based 2023-09-27 03:22:56 +02:00
update-cpp-test-results.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
uptime.cpp AK: Rename Stream::{read,write} to Stream::{read_some,write_some} 2023-03-13 15:16:20 +00:00
useradd.cpp useradd: Simplify uid validation 2023-08-26 19:01:22 -04:00
userdel.cpp Kernel+Userland: Ensure proper unveil permissions before using rm/rmdir 2023-06-02 17:53:55 +02:00
usermod.cpp usermod: Make error message less verbose 2023-08-08 15:15:43 +02:00
utmpupdate.cpp Everywhere: Remove unintentional partial stream reads and writes 2023-03-13 15:16:20 +00:00
w.cpp Userland: Prefer _string over _short_string 2023-08-08 07:37:21 +02:00
wallpaper.cpp AK+Everywhere: Remove the null state of DeprecatedString 2023-10-13 18:33:21 +03:30
wasm.cpp LibCore: Make MappedFile a Stream 2023-09-27 03:22:56 +02:00
watch.cpp watch: Use alternate buffer to display output 2023-08-04 05:25:44 +02:00
wc.cpp wc: Add -L option to show the length of the longest line 2023-06-23 06:24:33 +02:00
which.cpp LibFileSystem+Everything: Remove resolve_executable_from_environment 2023-06-06 23:46:36 +02:00
whoami.cpp whoami: Port to LibMain :^) 2021-11-30 23:34:40 +01:00
wsctl.cpp LibGUI: Make Application's construction fallible 2023-05-05 16:41:21 +01:00
xargs.cpp LibCore+Everywhere: Remove ArgsParser::add*(char const*&) 2023-03-01 10:47:19 +01:00
xml.cpp AK: Rename URLParser::parse to URLParser::basic_parse 2023-07-15 09:45:16 +02:00
xzcat.cpp AK: Add the Input word to input-only buffered streams 2023-05-09 11:18:46 +02:00
yes.cpp LibCore+Everywhere: Remove ArgsParser::add*(char const*&) 2023-03-01 10:47:19 +01:00
zip.cpp zip: Move away from DeprecatedString 2023-07-08 13:14:50 +01:00