From b5a1ee1d3e0b7c14cee2fce44bde8c0c3cb7f330 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 26 Apr 2019 00:47:30 +0200 Subject: [PATCH] Userland: Add a simple /bin/head program. --- Userland/head.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Userland/head.cpp diff --git a/Userland/head.cpp b/Userland/head.cpp new file mode 100644 index 0000000000..85ec6faf1e --- /dev/null +++ b/Userland/head.cpp @@ -0,0 +1,26 @@ +#include +#include + +int main(int argc, char** argv) +{ + // FIXME: Allow setting via command-line argument. + int line_count = 10; + + if (argc > 1) { + for (int i = 1; i < argc; ++i) { + if (argv[i][0] == '-') { + line_count = atoi(&argv[i][1]); + } + } + } + + for (int line = 0; line < line_count; ++line) { + char buffer[BUFSIZ]; + auto* str = fgets(buffer, sizeof(buffer), stdin); + if (!str) + break; + fputs(str, stdout); + } + + return 0; +}