summary refs log tree commit diff
path: root/src/taia_add.c
diff options
context:
space:
mode:
authorGerrit Pape <pape@smarden.org>2002-05-18 17:30:16 +0000
committerGerrit Pape <pape@smarden.org>2002-05-18 17:30:16 +0000
commit9cc46dc719566d4665f2e584cbd0b3b250d4b7d9 (patch)
tree3102f6853180830c6ad48d40c3e5fa5ef3d21d49 /src/taia_add.c
parenta3b07af346564647eb28477c80cc0d1b6929246b (diff)
downloadrunit-9cc46dc719566d4665f2e584cbd0b3b250d4b7d9.tar.gz
runit-9cc46dc719566d4665f2e584cbd0b3b250d4b7d9.tar.xz
runit-9cc46dc719566d4665f2e584cbd0b3b250d4b7d9.zip
* src/: include public domain sources to build byte.a, unix.a, time.a:
    runit builds without having daemontools' sources installed.
0.3.3.
Diffstat (limited to 'src/taia_add.c')
-rw-r--r--src/taia_add.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/taia_add.c b/src/taia_add.c
new file mode 100644
index 0000000..0ac8e6b
--- /dev/null
+++ b/src/taia_add.c
@@ -0,0 +1,20 @@
+/* Public domain. */
+
+#include "taia.h"
+
+/* XXX: breaks tai encapsulation */
+
+void taia_add(struct taia *t,const struct taia *u,const struct taia *v)
+{
+  t->sec.x = u->sec.x + v->sec.x;
+  t->nano = u->nano + v->nano;
+  t->atto = u->atto + v->atto;
+  if (t->atto > 999999999UL) {
+    t->atto -= 1000000000UL;
+    ++t->nano;
+  }
+  if (t->nano > 999999999UL) {
+    t->nano -= 1000000000UL;
+    ++t->sec.x;
+  }
+}