cSvn-UI for SVN Repositories

cGit-UI – is a web interface for Subversion (SVN) Repositories. cSvn CGI script is writen in C and therefore it's fast enough

6 Commits   0 Branches   2 Tags
author: kx <kx@radix.pro> 2023-03-24 03:55:33 +0300 committer: kx <kx@radix.pro> 2023-03-24 03:55:33 +0300 commit: bfc1508d26c89c9a36d2d9a827fe2c4ed128884d parent: c836ae3775cf72f17e0b7e3792d156fdb389bee3
Commit Summary:
Version 0.1.4
Diffstat:
1 file changed, 37 insertions, 0 deletions
diff --git a/csvncgi/date.h b/csvncgi/date.h
new file mode 100644
index 0000000..1883ec0
--- /dev/null
+++ b/csvncgi/date.h
@@ -0,0 +1,49 @@
+
+#ifndef    __DATE_H
+#define    __DATE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum date_mode_type {
+  DATE_NORMAL = 0,
+  DATE_HUMAN,
+  DATE_RELATIVE,
+  DATE_SHORT,
+  DATE_ISO8601,
+  DATE_ISO8601_STRICT,
+  DATE_RFC2822,
+  DATE_RAW,
+  DATE_UNIX
+};
+
+struct date_mode {
+  enum date_mode_type type;
+  int local;
+};
+
+/*******************************************************
+  Convenience helper for passing a constant type, like:
+
+    show_date( t, tz, DATE_MODE(NORMAL) );
+ */
+#define DATE_MODE(t) date_mode_from_type(DATE_##t)
+struct date_mode *date_mode_from_type(enum date_mode_type type);
+
+
+/*
+  Parse data in the input TEXT, fill struct tm TM and return
+  UTC time_t. On error parse_data returns -1:
+ */
+extern time_t parse_date( struct tm *tm, const char *text );
+
+extern void show_date_relative( struct strbuf *sb, time_t t );
+extern void show_date( struct strbuf *sb, time_t t, int tz, const struct date_mode *mode );
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* __DATE_H */