From 88bd6945554aea926123c39d9bc44cc1f525d218 Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Mon, 19 Oct 2020 18:14:49 +0200 Subject: Initial --- .gitignore | 2 ++ Makefile | 30 ++++++++++++++++++++++++++++++ main.cpp | 27 +++++++++++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 main.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..38a0404 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/obj +datetags diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..834f021 --- /dev/null +++ b/Makefile @@ -0,0 +1,30 @@ +CXX = g++ +CXXFLAGS = -Wall -Wextra -std=c++17 -O2 -g -flto +LDFLAGS = $(CXXFLAGS) +TARGET = datetags + +SOURCES = $(wildcard *.cpp) + +OBJDIR = obj + +.PHONY: all clean + +all: $(TARGET) + +clean: + @echo "Cleaning" + @rm -f $(TARGET) + @rm -rf $(OBJDIR) + + +$(OBJDIR)/%.o: %.cpp $(wildcard *.h) | $(OBJDIR) + @mkdir -p $(dir $@) + @echo "CXX $<" + @$(CXX) $(CXXFLAGS) -c -o $@ $< + +$(TARGET): $(patsubst %.cpp,$(OBJDIR)/%.o,$(SOURCES)) | $(OBJDIR) + @echo "LD -o $@" + @$(CXX) -o $@ $^ $(LDFLAGS) + +$(OBJDIR): + @mkdir -p $(OBJDIR) diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..51262e9 --- /dev/null +++ b/main.cpp @@ -0,0 +1,27 @@ +#include +#include +#include + + +int main() { + std::string line; + while (std::getline(std::cin, line)) { + struct timeval tv; + gettimeofday(&tv, nullptr); + + const struct tm *tm = localtime(&tv.tv_sec); + + char buffer[128]; + const ssize_t nw = + strftime(buffer, sizeof buffer - 7, "%Y-%m-%d %H:%M:%S.", tm); + + int multiplier = 100000; + for (int i = 0; i < 6; i++) { + buffer[nw + i] = '0' + tv.tv_usec / multiplier % 10; + multiplier /= 10; + } + buffer[nw + 6] = '\0'; + + std::cout << buffer << ' ' << line << std::endl; + } +} -- cgit v1.2.3-54-g00ecf