about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2017-08-26 15:28:29 -0400
committerJune McEnroe <june@causal.agency>2017-08-26 15:28:29 -0400
commitadbb3d376c1456b9df50c4e78b2ec54dc154118f (patch)
tree167a1462e98e67471a11724acc2dded222f9b1af
parentAdd license to torus.h as well (diff)
downloadtorus-adbb3d376c1456b9df50c4e78b2ec54dc154118f.tar.gz
torus-adbb3d376c1456b9df50c4e78b2ec54dc154118f.zip
Add metadata to CSV script
-rw-r--r--.gitignore1
-rwxr-xr-xmeta.c47
2 files changed, 48 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 50c3846..d08a301 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
 chroot.tar
 client
 help
+meta
 root
 server
 termcap
diff --git a/meta.c b/meta.c
new file mode 100755
index 0000000..e31d4e7
--- /dev/null
+++ b/meta.c
@@ -0,0 +1,47 @@
+#if 0
+exec cc -Wall -Wextra -pedantic $@ -o meta $0
+#endif
+
+/*
+ * Copyright (c) 2017, June McEnroe <june@causal.agency>
+ *
+ * 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.
+ */
+
+#include <err.h>
+#include <stdio.h>
+#include <sysexits.h>
+#include <unistd.h>
+
+#include "torus.h"
+
+int main() {
+    printf("tileX,tileY,createTime,modifyCount,modifyTime,accessCount,accessTime\n");
+    for (int i = 0;; ++i) {
+        struct Tile tile;
+        ssize_t len = read(STDIN_FILENO, &tile, sizeof(tile));
+        if (len < 0) err(EX_IOERR, "read");
+        if (!len) return EX_OK;
+
+        printf(
+            "%d,%d,%ld,%u,%ld,%u,%ld\n",
+            i % TILE_COLS,
+            i / TILE_COLS,
+            tile.create,
+            tile.modifyCount,
+            tile.modify,
+            tile.accessCount,
+            tile.access
+        );
+    }
+}