diff --git a/src/Makefile b/src/Makefile index 4101235..409a03a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -51,7 +51,7 @@ HACKERBASE-OBJS=hackerbase.o testing.o listing.o cal-month.o \ util-string.o util-io.o util-list.o util-parser.o texts.o \ tests.o util-proc.o util-mail.o notifications.o \ util-format.o brmember-format.o logging.o specification.o \ - util-git.o cal-day.o util-stdout.o + util-git.o cal-day.o util-stdout.o cal-format.o .PHONY: imports imports: $(HACKERBASE-DEPS) @@ -379,3 +379,8 @@ UTIL-STDOUT-SOURCES=util-stdout.scm util-stdout.o: util-stdout.import.scm util-stdout.import.scm: $(UTIL-STDOUT-SOURCES) + +CAL-FORMAT-SOURCES=cal-format.scm cal-day.import.scm cal-month.import.scm + +cal-format.o: cal-format.import.scm +cal-format.import.scm: $(CAL-FORMAT-SOURCES) diff --git a/src/cal-format.scm b/src/cal-format.scm new file mode 100644 index 0000000..d6bd652 --- /dev/null +++ b/src/cal-format.scm @@ -0,0 +1,46 @@ +;; +;; cal-format.scm +;; +;; Calendar structures formatting. +;; +;; ISC License +;; +;; Copyright 2023 Brmlab, z.s. +;; Dominik Pantůček +;; +;; Permission to use, copy, modify, and/or distribute this software +;; for any purpose with or without fee is hereby granted, provided +;; that the above copyright notice and this permission notice appear +;; in all copies. +;; +;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL +;; WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +;; WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE +;; AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR +;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +;; OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +;; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +;; CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +;; + +(declare (unit cal-format)) + +(module + cal-format + ( + cal-format + ) + + (import scheme + cal-day + cal-month) + + ;; Formats day or month or #f to string. + (define (cal-format v) + (if (cal-day? v) + (cal-day->string v) + (if (cal-month? v) + (cal-month->string v) + "--"))) + + )