From 9112fc018c25722f01240fbeb49c01aaa749cf7a Mon Sep 17 00:00:00 2001 From: "Alexander \"Arav\" Andreev" Date: Fri, 26 Apr 2024 04:03:48 +0400 Subject: [PATCH] src directory as well as a separate header file is absolutely not necessary. Also fixed a typo price_kwh_to_wattspersecond -> price_kwh_to_wattsecond, because because a price per kilowatt-hour is being converted to watt-second. Also added a notice about a licence that is used. --- Makefile | 4 +--- src/main.c => main.c | 23 ++++++++++++++++++----- src/main.h | 19 ------------------- 3 files changed, 19 insertions(+), 27 deletions(-) rename src/main.c => main.c (77%) delete mode 100644 src/main.h diff --git a/Makefile b/Makefile index 9b0caba..8cf29db 100644 --- a/Makefile +++ b/Makefile @@ -5,13 +5,11 @@ PREFIX:=/usr/local CFLAGS=--std=c99 -O3 -Wall -Werror -Wextra -pedantic -SRC_DIR=src - DESTDIR=/ .PHONY: clean install uninstall test -${TARGET}: ${SRC_DIR}/main.c ${SRC_DIR}/main.h +${TARGET}: main.c ${CC} ${CFLAGS} ${LDFLAGS} $< -o $@ clean: diff --git a/src/main.c b/main.c similarity index 77% rename from src/main.c rename to main.c index 7573230..35ecf4f 100644 --- a/src/main.c +++ b/main.c @@ -2,15 +2,27 @@ #include #include -#include "main.h" +#define VERSION "1.1.1" + +typedef long double price_t; +typedef long double wattage_t; +typedef unsigned long interval_t; + +int parse_arguments(const int argc, const char *const *const argv, + price_t *const price, wattage_t *const wattage, interval_t *const interval); + +inline interval_t interval_to_seconds(const char *const interval); +inline price_t price_kwh_to_wattsecond(const price_t price); + +inline void print_version(); +inline void print_usage(); int main(const int argc, const char *const *const argv) { price_t price; wattage_t wattage; interval_t interval = 0; - int res = parse_arguments(argc, argv, &price, &wattage, &interval); - switch (res) { + switch (parse_arguments(argc, argv, &price, &wattage, &interval)) { case 1: print_usage(); exit(0); case 2: print_version(); exit(0); case 99: fputs("Unknown flag provided.\n", stderr); print_usage(); exit(1); @@ -36,7 +48,7 @@ int parse_arguments(const int argc, const char *const *const argv, } else if (argc < 4) { return 1; } else if (pos == 0) { - *price = price_kwh_to_wattspersecond((price_t)atof(argv[i])); + *price = price_kwh_to_wattsecond((price_t)atof(argv[i])); ++pos; } else if (pos == 1) { *wattage = (wattage_t)atof(argv[2]); @@ -65,13 +77,14 @@ inline interval_t interval_to_seconds(const char *const interval) { } } -inline price_t price_kwh_to_wattspersecond(const price_t price) { +inline price_t price_kwh_to_wattsecond(const price_t price) { return price / 1000.f / 3600.f; } inline void print_version() { fputs("kwh-cost Ver. " VERSION "\n" "Copyright (C) 2021-2023 Alexander \"Arav\" Andreev . All rights reserved.\n" + "This program is distributed under the terms of MIT+NIGGER licence.\n" "You can see a license for this program in /usr/share/licenses/kwh-cost/LICENSE.\n", stderr); } diff --git a/src/main.h b/src/main.h deleted file mode 100644 index 2731bcd..0000000 --- a/src/main.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef _MAIN_H_ -#define _MAIN_H_ - -#define VERSION "1.1.1" - -typedef long double price_t; -typedef long double wattage_t; -typedef unsigned long interval_t; - -int parse_arguments(const int argc, const char *const *const argv, - price_t *const price, wattage_t *const wattage, interval_t *const interval); - -inline interval_t interval_to_seconds(const char *const interval); -inline price_t price_kwh_to_wattspersecond(const price_t price); - -inline void print_version(); -inline void print_usage(); - -#endif