From a786b374b67e893ac1efe6fca2a79ec08c0ab5b5 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 14 Jun 2022 13:26:58 +0200 Subject: [PATCH] Utilities: Remove `ddate` joke program --- Base/usr/share/man/man1/ddate.md | 20 ------ Userland/Utilities/CMakeLists.txt | 1 - Userland/Utilities/ddate.cpp | 111 ------------------------------ 3 files changed, 132 deletions(-) delete mode 100644 Base/usr/share/man/man1/ddate.md delete mode 100644 Userland/Utilities/ddate.cpp diff --git a/Base/usr/share/man/man1/ddate.md b/Base/usr/share/man/man1/ddate.md deleted file mode 100644 index 9a6f79542c..0000000000 --- a/Base/usr/share/man/man1/ddate.md +++ /dev/null @@ -1,20 +0,0 @@ -## Name - -ddate - print the current date in Discordian date format - -## Synopsis - -```**sh -$ ddate -``` - -## Description - -ddate prints the current date in Discordian date format. - -## Examples - -```sh -$ ddate # Thu 07 Jan 2021 -Today is Boomtime, day 7 of Chaos, in the YOLD 3187 -``` diff --git a/Userland/Utilities/CMakeLists.txt b/Userland/Utilities/CMakeLists.txt index bb40193d38..a90eec5537 100644 --- a/Userland/Utilities/CMakeLists.txt +++ b/Userland/Utilities/CMakeLists.txt @@ -98,7 +98,6 @@ target_link_libraries(cpp-preprocessor LibCpp LibMain) target_link_libraries(cut LibMain) target_link_libraries(date LibMain) target_link_libraries(dd LibMain) -target_link_libraries(ddate LibMain) target_link_libraries(df LibMain) target_link_libraries(diff LibDiff LibMain) target_link_libraries(dirname LibMain) diff --git a/Userland/Utilities/ddate.cpp b/Userland/Utilities/ddate.cpp deleted file mode 100644 index 212285526f..0000000000 --- a/Userland/Utilities/ddate.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 2021-2022, the SerenityOS developers. - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#include -#include -#include -#include -#include - -class DiscordianDate { -public: - explicit DiscordianDate(Core::DateTime date) - { - m_gregorian_date = date; - m_yold = date.year() + 1166; - - uint16_t day = day_of_yold() + 1; - if (is_leap_year() && day > m_st_tibs_day_of_yold) - --day; - - m_day_of_week = day_of_week_from_day_of_yold(day); - m_season = season_from_day_of_yold(day); - m_date = date_from_day_of_yold(day); - } - - char const* day_of_week() { return m_day_of_week.characters(); }; - char const* season() { return m_season.characters(); }; - uint16_t year() { return yold(); }; - uint16_t yold() { return m_yold; }; - uint16_t day_of_year() { return day_of_yold(); }; - uint16_t day_of_yold() { return m_gregorian_date.day_of_year(); }; - bool is_leap_year() { return m_gregorian_date.is_leap_year(); }; - bool is_st_tibs_day() { return (is_leap_year() && (day_of_yold() + 1) == m_st_tibs_day_of_yold); }; - - String to_string() - { - if (is_st_tibs_day()) - return String::formatted("St. Tib's Day, in the YOLD {}", m_yold); - return String::formatted("{}, day {} of {}, in the YOLD {}", m_day_of_week, m_date, m_season, m_yold); - } - -private: - static constexpr int m_days_in_week = 5; - static constexpr int m_days_in_season = 73; - static constexpr int m_st_tibs_day_of_yold = 60; - Core::DateTime m_gregorian_date; - String m_day_of_week; - String m_season; - int m_date; - uint64_t m_yold; // 64-bit for use after X-Day in the YOLD 8661 - - int date_from_day_of_yold(uint16_t day) - { - return (day % m_days_in_season == 0 ? m_days_in_season : day % m_days_in_season); - } - - char const* day_of_week_from_day_of_yold(uint16_t day) - { - if (is_st_tibs_day()) - return nullptr; - - switch ((day % m_days_in_week) == 0 ? m_days_in_week : (day % m_days_in_week)) { - case 1: - return "Sweetmorn"; - case 2: - return "Boomtime"; - case 3: - return "Pungenday"; - case 4: - return "Prickle-Prickle"; - case 5: - return "Setting Orange"; - default: - return nullptr; - } - } - - char const* season_from_day_of_yold(uint16_t day) - { - if (is_st_tibs_day()) - return nullptr; - - switch (((day % m_days_in_season) == 0 ? day - 1 : day) / m_days_in_season) { - case 0: - return "Chaos"; - case 1: - return "Discord"; - case 2: - return "Confusion"; - case 3: - return "Bureaucracy"; - case 4: - return "The Aftermath"; - default: - return nullptr; - } - } -}; - -ErrorOr serenity_main(Main::Arguments) -{ - TRY(Core::System::pledge("stdio rpath")); - - auto date = Core::DateTime::now(); - outln("Today is {}", DiscordianDate(date).to_string()); - - return 0; -}