From 4144b610705d157c812cea0a2bff931c35afe1d0 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 6 Oct 2026 04:21:57 -0300 Subject: [PATCH] fixed a makefile thing and added the thingy that does things --- Makefile | 12 +++++++++--- timetolocal.c | 31 +++++++++++++++++++++++++++++-- timetolocal.o | Bin 0 -> 14712 bytes 3 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 timetolocal.o diff --git a/Makefile b/Makefile index b0c4f7f..2f43535 100644 --- a/Makefile +++ b/Makefile @@ -2,13 +2,16 @@ CC = gcc CFLAGS = -Wall -Wextra -O2 -pipe TARGET = timetolocal SRC = $(wildcard *.c) +OBJ = $(SRC:.c=.o) PREFIX = /usr/local all: $(TARGET) $(TARGET): $(OBJ) - @mkdir -p $(@D) - $(CC) $(CFLAGS) -o $(TARGET) $(SRC) + $(CC) $(CFLAGS) -o $(TARGET) $(OBJ) + +%.o: %.c + $(CC) $(CFLAGS) -c $< -o $@ install: $(TARGET) install -D $(TARGET) $(DESTDIR)$(PREFIX)/bin/$(notdir $(TARGET)) @@ -17,4 +20,7 @@ uninstall: rm -f $(DESTDIR)$(PREFIX)/bin/$(notdir $(TARGET)) clean: - rm -rf $(TARGET) + rm -f $(TARGET) $(OBJ) + +.PHONY: all install uninstall clean + diff --git a/timetolocal.c b/timetolocal.c index 4b81335..f2e9c1a 100644 --- a/timetolocal.c +++ b/timetolocal.c @@ -3,6 +3,7 @@ #include #include #include +#include #include "tztable.h" /*it's not case sensitive @@ -37,6 +38,17 @@ davidtime strtimetoint(char *whattimeisit) { return timehoursandminutes; } +char* gethhmm(char* buffer, size_t max_size) { + time_t raw_time; + struct tm* time_info; + + time(&raw_time); + time_info = localtime(&raw_time); + + strftime(buffer, max_size, "%H:%M", time_info); + return buffer; +} + int convert(char *timey, char *zone){ time_t rawtime = time(NULL); struct tm *ptm = gmtime(&rawtime); @@ -67,13 +79,28 @@ int convert(char *timey, char *zone){ return 0; } + int main (int argc, char **argv){ - if((argc <= 2) || (argc > 3)){ - printf("%s: usage: %s [TIME (24hs)] [ZONE]\ne.g: %s 7:15 est\n", argv[0], argv[0], argv[0]); + if((argc <= 1) || (argc > 3)){ + printf("%s: usage: %s [TIME (24hs)] [ZONE]\ne.g: %s 7:15 est\n\nalso get relative times like %s [ZONE]\ne.g: %s est\n", argv[0], argv[0], argv[0], argv[0], argv[0]); exit(0); } + char timestr[16]; + gethhmm(timestr, sizeof(timestr)); + if (argc == 2) { + if (isdigit((unsigned char)argv[1][0])) { + printf("timezones don't have numbers in them\n"); + return 1; + } + if (convert(timestr, argv[1]) == -1) { + printf("%s: time zone not found, did you write it correctly?\n", argv[0]); + return 1; + } + return 0; + } + if(convert(argv [1], argv[2]) == -1){ printf("%s: time zone not found, did you write it correctly?\n", argv[0]); return 1; diff --git a/timetolocal.o b/timetolocal.o new file mode 100644 index 0000000000000000000000000000000000000000..b0a3007f3afa30e094712487f97755ae3106cda7 GIT binary patch literal 14712 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 XCm1lODvoP4{RN5txHhtUK>hy#rr-@# literal 0 HcmV?d00001