From 97b2c0b6a90f89378bb852ae66c1c0c8f179b64b Mon Sep 17 00:00:00 2001 From: Luna Date: Tue, 7 May 2019 23:22:38 -0300 Subject: [PATCH 1/9] add build.zig --- .gitignore | 1 + build.zig | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 build.zig diff --git a/.gitignore b/.gitignore index b8e5b53..8cb2683 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,4 @@ Mkfile.old dkms.conf bin/ +zig-cache/ diff --git a/build.zig b/build.zig new file mode 100644 index 0000000..ba5a37e --- /dev/null +++ b/build.zig @@ -0,0 +1,28 @@ +const Builder = @import("std").build.Builder; + +pub fn build(b: *Builder) void { + const mode = b.standardReleaseOptions(); + const exe = b.addExecutable("journal", null); + exe.setBuildMode(mode); + exe.linkSystemLibrary("c"); + + //exe.addCompileFlags([][]const u8{"-W -O"}); + + const source_files = [][]const u8{ + "src/journal/main.c", + "src/journal/journal.c", + }; + + for (source_files) |source| { + exe.addCSourceFile(source, [][]const u8{}); + } + + // enable us to run the main journal executable via + // the build system + const run_cmd = exe.run(); + const run_step = b.step("run", "Run journal"); + run_step.dependOn(&run_cmd.step); + + b.default_step.dependOn(&exe.step); + b.installArtifact(exe); +} From 6afa1f1f3a3e6782f1e58557accb71413193d17c Mon Sep 17 00:00:00 2001 From: Luna Date: Wed, 8 May 2019 23:34:12 -0300 Subject: [PATCH 2/9] add src/journal/journal.zig --- build.zig | 17 ++++++----- src/journal/journal.zig | 66 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 7 deletions(-) create mode 100644 src/journal/journal.zig diff --git a/build.zig b/build.zig index ba5a37e..947d5a7 100644 --- a/build.zig +++ b/build.zig @@ -6,15 +6,18 @@ pub fn build(b: *Builder) void { exe.setBuildMode(mode); exe.linkSystemLibrary("c"); - //exe.addCompileFlags([][]const u8{"-W -O"}); - - const source_files = [][]const u8{ - "src/journal/main.c", - "src/journal/journal.c", - }; + const source_files = [][]const u8{"src/journal/main.c"}; for (source_files) |source| { - exe.addCSourceFile(source, [][]const u8{}); + exe.addCSourceFile(source, [][]const u8{"-W -O"}); + } + + const zig_sources = [][]const u8{"src/journal/journal.zig"}; + + for (zig_sources) |source| { + const obj = b.addObject("journal", source); + obj.linkSystemLibrary("c"); + exe.addObject(obj); } // enable us to run the main journal executable via diff --git a/src/journal/journal.zig b/src/journal/journal.zig new file mode 100644 index 0000000..794845e --- /dev/null +++ b/src/journal/journal.zig @@ -0,0 +1,66 @@ +const c = @cImport({ + @cInclude("stdio.h"); + @cInclude("stdlib.h"); + @cInclude("sys/stat.h"); + @cInclude("string.h"); + @cInclude("time.h"); +}); + +const std = @import("std"); +const warn = std.debug.warn; +const allocator = std.heap.c_allocator; + +fn alloc_str(size: c_ulong) [*c]u8 { + return @ptrCast([*c]u8, @alignCast(@alignOf(u8), c.malloc(c_ulong(size)))); +} + +export fn journal_open(topic: [*c]u8) [*c](c.FILE) { + var home_path: [*c]const u8 = c.getenv(c"HOME"); + + var journal_dir: [*c]u8 = alloc_str(512); + var journal_path: [*c]u8 = alloc_str(1024); + + _ = c.snprintf(journal_dir, c_ulong(512), c"%s/.lunabot", home_path); + + warn("uwu journal_dir = '{}'", journal_dir.*); + + //c.mkdir(journal_dir, c.S_IRWXU | c.S_IRGRP | c.S_IROTH); + + // taken off `zig translate-c`. this is cursed, i'm sorry. + _ = c.mkdir(journal_dir, c.__mode_t((((256 | 128) | 64) | (256 >> @import("std").math.Log2Int(c_int)(3))) | ((256 >> @import("std").math.Log2Int(c_int)(3)) >> @import("std").math.Log2Int(c_int)(3)))); + + _ = c.snprintf(journal_path, c_ulong(1024), c"%s/%s", journal_dir, topic); + + warn("journal_path = {}", journal_path.*); + + var res: [*c](c.FILE) = c.fopen(journal_path, c"a"); + + c.free(@ptrCast(?*c_void, journal_path)); + c.free(@ptrCast(?*c_void, journal_dir)); + + return res; +} + +export fn journal_write(journal: [*c]c.FILE, message: [*c]u8) void { + _ = c.fwrite(message, c.strlen(message), 1, journal); +} + +export fn journal_close(journal: [*c]c.FILE) void { + _ = c.fclose(journal); +} + +export fn journal_write_topic(journal: *c.FILE, topic: [*c]u8, message: [*c]u8) void { + var tstamp: [*c]u8 = alloc_str(128); + var fmt_msg: [*c]u8 = alloc_str(128); + var rawtime: c.time_t = undefined; + + _ = c.time(&rawtime); + var cur_time: [*c]const c.struct_tm = c.gmtime(&rawtime); + + _ = c.strftime(tstamp, usize(128), c"%c", cur_time); + _ = c.sprintf(fmt_msg, c"[%s] [%s]: %s\n", tstamp, topic, message); + + c.free(@ptrCast(?*c_void, tstamp)); + + journal_write(journal, fmt_msg); +} From 7d1b87d8dfe33b846ee06da13d06c843ab09219f Mon Sep 17 00:00:00 2001 From: Luna Date: Sat, 13 Jul 2019 09:55:01 -0300 Subject: [PATCH 3/9] fixes for latest zig --- build.zig | 6 +++--- src/journal/journal.zig | 14 +++++++++----- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/build.zig b/build.zig index 947d5a7..b2eaaac 100644 --- a/build.zig +++ b/build.zig @@ -6,13 +6,13 @@ pub fn build(b: *Builder) void { exe.setBuildMode(mode); exe.linkSystemLibrary("c"); - const source_files = [][]const u8{"src/journal/main.c"}; + const source_files = [_][]const u8{"src/journal/main.c"}; for (source_files) |source| { - exe.addCSourceFile(source, [][]const u8{"-W -O"}); + exe.addCSourceFile(source, [_][]const u8{"-W -O"}); } - const zig_sources = [][]const u8{"src/journal/journal.zig"}; + const zig_sources = [_][]const u8{"src/journal/journal.zig"}; for (zig_sources) |source| { const obj = b.addObject("journal", source); diff --git a/src/journal/journal.zig b/src/journal/journal.zig index 794845e..eecf738 100644 --- a/src/journal/journal.zig +++ b/src/journal/journal.zig @@ -14,6 +14,10 @@ fn alloc_str(size: c_ulong) [*c]u8 { return @ptrCast([*c]u8, @alignCast(@alignOf(u8), c.malloc(c_ulong(size)))); } +fn free_str(ptr: [*c]u8) void { + c.free(@ptrCast(?*c_void, ptr)); +} + export fn journal_open(topic: [*c]u8) [*c](c.FILE) { var home_path: [*c]const u8 = c.getenv(c"HOME"); @@ -22,7 +26,7 @@ export fn journal_open(topic: [*c]u8) [*c](c.FILE) { _ = c.snprintf(journal_dir, c_ulong(512), c"%s/.lunabot", home_path); - warn("uwu journal_dir = '{}'", journal_dir.*); + warn("uwu journal_dir = '{}'\n", journal_dir.*); //c.mkdir(journal_dir, c.S_IRWXU | c.S_IRGRP | c.S_IROTH); @@ -31,12 +35,12 @@ export fn journal_open(topic: [*c]u8) [*c](c.FILE) { _ = c.snprintf(journal_path, c_ulong(1024), c"%s/%s", journal_dir, topic); - warn("journal_path = {}", journal_path.*); + warn("journal_path = {}\n", journal_path.*); var res: [*c](c.FILE) = c.fopen(journal_path, c"a"); - c.free(@ptrCast(?*c_void, journal_path)); - c.free(@ptrCast(?*c_void, journal_dir)); + free_str(journal_path); + free_str(journal_dir); return res; } @@ -60,7 +64,7 @@ export fn journal_write_topic(journal: *c.FILE, topic: [*c]u8, message: [*c]u8) _ = c.strftime(tstamp, usize(128), c"%c", cur_time); _ = c.sprintf(fmt_msg, c"[%s] [%s]: %s\n", tstamp, topic, message); - c.free(@ptrCast(?*c_void, tstamp)); + free_str(tstamp); journal_write(journal, fmt_msg); } From 5fb7f0263a39b11f27ab3d91144723a27e94b9a7 Mon Sep 17 00:00:00 2001 From: Luna Date: Sat, 13 Jul 2019 11:18:57 -0300 Subject: [PATCH 4/9] remove total reliance on the c stdlib for journal.zig --- src/journal/journal.h | 8 +-- src/journal/journal.zig | 106 ++++++++++++++++++++++++++++------------ src/journal/main.c | 10 ++-- 3 files changed, 87 insertions(+), 37 deletions(-) diff --git a/src/journal/journal.h b/src/journal/journal.h index 63ffe95..f6cf8bb 100644 --- a/src/journal/journal.h +++ b/src/journal/journal.h @@ -8,9 +8,9 @@ #define STREQ(a, b) strcmp(a, b) == 0 -FILE *journal_open(char *topic); -void journal_write(FILE*, char* message); -void journal_write_topic(FILE*, char *topic, char *message); -void journal_close(FILE*); +int journal_open(char *topic); +void journal_write(int, char* message); +void journal_write_topic(int, char *topic, char *message); +void journal_close(int); #endif diff --git a/src/journal/journal.zig b/src/journal/journal.zig index eecf738..d42d3e2 100644 --- a/src/journal/journal.zig +++ b/src/journal/journal.zig @@ -1,3 +1,6 @@ +const std = @import("std"); +const os = std.os; + const c = @cImport({ @cInclude("stdio.h"); @cInclude("stdlib.h"); @@ -6,7 +9,6 @@ const c = @cImport({ @cInclude("time.h"); }); -const std = @import("std"); const warn = std.debug.warn; const allocator = std.heap.c_allocator; @@ -18,53 +20,97 @@ fn free_str(ptr: [*c]u8) void { c.free(@ptrCast(?*c_void, ptr)); } -export fn journal_open(topic: [*c]u8) [*c](c.FILE) { - var home_path: [*c]const u8 = c.getenv(c"HOME"); +export fn journal_open(topic_opt: [*c]u8) os.fd_t { + const topic_len = c.strlen(topic_opt); + const topic: []u8 = topic_opt[0..topic_len]; - var journal_dir: [*c]u8 = alloc_str(512); - var journal_path: [*c]u8 = alloc_str(1024); + const journal_dir = std.fs.path.resolve(allocator, [_][]const u8{ + std.os.getenvC(c"HOME").?, + ".lunabot", + }) catch |err| { + warn("failed to resolve paths: {}\n", err); + return -1; + }; - _ = c.snprintf(journal_dir, c_ulong(512), c"%s/.lunabot", home_path); + warn("journal_dir = {}\n", journal_dir); - warn("uwu journal_dir = '{}'\n", journal_dir.*); + std.fs.makeDir(journal_dir) catch |err| { + if (err != error.PathAlreadyExists) { + warn("failed to create journal dir {}: {}\n", journal_dir, err); + return -1; + } + }; - //c.mkdir(journal_dir, c.S_IRWXU | c.S_IRGRP | c.S_IROTH); + const journal_path = std.fmt.allocPrint(allocator, "{}/{}", journal_dir, topic) catch |err| { + warn("failed to allocprint journal path: {}\n", err); + return -1; + }; + defer allocator.free(journal_path); - // taken off `zig translate-c`. this is cursed, i'm sorry. - _ = c.mkdir(journal_dir, c.__mode_t((((256 | 128) | 64) | (256 >> @import("std").math.Log2Int(c_int)(3))) | ((256 >> @import("std").math.Log2Int(c_int)(3)) >> @import("std").math.Log2Int(c_int)(3)))); + warn("journal_path = {}\n", journal_path); - _ = c.snprintf(journal_path, c_ulong(1024), c"%s/%s", journal_dir, topic); + const fd = std.os.open( + journal_path, + std.os.O_WRONLY | std.os.O_CREAT | std.os.O_APPEND, + 0o755, + ) catch |err| { + warn("failed to open {}: {}\n", journal_path, err); + return -1; + }; - warn("journal_path = {}\n", journal_path.*); - - var res: [*c](c.FILE) = c.fopen(journal_path, c"a"); - - free_str(journal_path); - free_str(journal_dir); - - return res; + return fd; } -export fn journal_write(journal: [*c]c.FILE, message: [*c]u8) void { - _ = c.fwrite(message, c.strlen(message), 1, journal); +export fn journal_write(journal: os.fd_t, message: [*c]u8) void { + const msglen = c.strlen(message); + + std.os.write(journal, message[0..msglen]) catch |err| { + std.debug.warn("Error while writing to file: {}\n", err); + return; + }; } -export fn journal_close(journal: [*c]c.FILE) void { - _ = c.fclose(journal); +export fn journal_close(journal: os.fd_t) void { + std.os.close(journal); } -export fn journal_write_topic(journal: *c.FILE, topic: [*c]u8, message: [*c]u8) void { - var tstamp: [*c]u8 = alloc_str(128); - var fmt_msg: [*c]u8 = alloc_str(128); +export fn journal_write_topic( + journal: os.fd_t, + topic_opt: [*c]u8, + message_opt: [*c]u8, +) void { + var topic = topic_opt[0..c.strlen(topic_opt)]; + var message = message_opt[0..c.strlen(message_opt)]; + + var tstamp_cstr: [*c]u8 = alloc_str(128); var rawtime: c.time_t = undefined; _ = c.time(&rawtime); var cur_time: [*c]const c.struct_tm = c.gmtime(&rawtime); + _ = c.strftime(tstamp_cstr, usize(128), c"%c", cur_time); - _ = c.strftime(tstamp, usize(128), c"%c", cur_time); - _ = c.sprintf(fmt_msg, c"[%s] [%s]: %s\n", tstamp, topic, message); + var tstamp = tstamp_cstr[0..c.strlen(tstamp_cstr)]; - free_str(tstamp); + std.debug.warn("tstamp: {}\ntopic: {}\nmsg: {}\n", tstamp, topic, message); - journal_write(journal, fmt_msg); + // catch unreachable is intended. + var fmt_msg = std.fmt.allocPrint( + allocator, + "[{}] [{}]: {}\n", + tstamp, + topic, + message, + ) catch |err| { + warn("Failed to make formatted message: {}\n", err); + return; + }; + + var fmt_msg_cstr = std.cstr.addNullByte( + allocator, + fmt_msg, + ) catch unreachable; + + free_str(tstamp_cstr); + + journal_write(journal, fmt_msg_cstr.ptr); } diff --git a/src/journal/main.c b/src/journal/main.c index da0d023..d145905 100644 --- a/src/journal/main.c +++ b/src/journal/main.c @@ -63,7 +63,7 @@ int main(int argc, char** argv) // default handling by journal_write_topic is marked // as the NULL values in this array. - void (*handlers[])(FILE*, char*) = { + void (*handlers[])(int, char*) = { NULL, NULL, NULL }; @@ -91,9 +91,13 @@ int main(int argc, char** argv) if(strcmp(topic, cur_topic) == 0) { - void (*fun_ptr)(FILE*, char*) = handlers[i]; + void (*fun_ptr)(int, char*) = handlers[i]; - FILE* journal_file = journal_open(topic); + int journal_file = journal_open(topic); + if(journal_file == -1) { + printf("failed to open journal file.\n"); + return 1; + } char *handler_message = extract_handler_msg(argc, argv); printf("[%s] said '%s'\n", topic, handler_message); From 007cd0e22a0926ddf35c86d1528dec1fde9cf429 Mon Sep 17 00:00:00 2001 From: Luna Date: Sat, 13 Jul 2019 13:59:15 -0300 Subject: [PATCH 5/9] rm journal.c, rm format.h --- src/journal/format.h | 0 src/journal/journal.c | 57 ------------------------------------------- 2 files changed, 57 deletions(-) delete mode 100644 src/journal/format.h delete mode 100644 src/journal/journal.c diff --git a/src/journal/format.h b/src/journal/format.h deleted file mode 100644 index e69de29..0000000 diff --git a/src/journal/journal.c b/src/journal/journal.c deleted file mode 100644 index fa8137f..0000000 --- a/src/journal/journal.c +++ /dev/null @@ -1,57 +0,0 @@ -#include -#include -#include -#include -#include - -// functions to deal with the journal file - - -FILE *journal_open(char *topic) -{ - char *home_path = getenv("HOME"); - - // combine w/ home path - char *journal_dir = (char*)malloc(1024); - snprintf(journal_dir, 1024, "%s/.lunabot", home_path); - - // construct a 744 - mkdir(journal_dir, S_IRWXU | S_IRGRP | S_IROTH); - - char *journal_path = (char*)malloc(1024); - snprintf(journal_path, 1024, "%s/%s", journal_dir, topic); - - FILE* res = fopen(journal_path, "a"); - - free(journal_path); - free(journal_dir); - - return res; -} - -void journal_write(FILE* journal_fd, char* message) -{ - // TODO: strlen()? - fwrite(message, strlen(message), 1, journal_fd); -} - -void journal_close(FILE* journal_fd) -{ - fclose(journal_fd); -} - -void journal_write_topic(FILE *journal_fd, char *topic, char *message) -{ - char *tstamp = malloc(128 * sizeof(char)); - char fmt_msg[512]; - - time_t rawtime; - time(&rawtime); - const struct tm *cur_time = gmtime(&rawtime); - strftime(tstamp, 128, "%c", cur_time); - - sprintf(fmt_msg, "[%s] [%s]: %s\n", tstamp, topic, message); - free(tstamp); - - journal_write(journal_fd, fmt_msg); -} From ca7a655ebb35453b408dac82923049000499e1d3 Mon Sep 17 00:00:00 2001 From: Luna Date: Sat, 13 Jul 2019 16:22:23 -0300 Subject: [PATCH 6/9] update readme --- README.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index c514988..c08ad5f 100644 --- a/README.md +++ b/README.md @@ -7,14 +7,10 @@ source is open, data is closed, this is for my own personal use ## depedencies - a robot girl to use those utils - - posix compliant make - - a c compiler + - the zig compiler https://ziglang.org ``` -make - -# or just remove PREFIX for /usr/local -make PREFIX=$HOME/.local install +zig build install --prefix ~/.local/ ``` ## using From 6b78bb16d870e3fa3c2d09b21d1a4545e0f3d479 Mon Sep 17 00:00:00 2001 From: Luna Date: Sun, 11 Aug 2019 11:12:21 -0300 Subject: [PATCH 7/9] convert c pointers to optional unknown length ptrs --- src/journal/journal.zig | 42 +++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/src/journal/journal.zig b/src/journal/journal.zig index d42d3e2..e1f6826 100644 --- a/src/journal/journal.zig +++ b/src/journal/journal.zig @@ -12,17 +12,12 @@ const c = @cImport({ const warn = std.debug.warn; const allocator = std.heap.c_allocator; -fn alloc_str(size: c_ulong) [*c]u8 { - return @ptrCast([*c]u8, @alignCast(@alignOf(u8), c.malloc(c_ulong(size)))); +fn sliceify(ptr: [*]u8) []u8 { + return ptr[0..c.strlen(ptr)]; } -fn free_str(ptr: [*c]u8) void { - c.free(@ptrCast(?*c_void, ptr)); -} - -export fn journal_open(topic_opt: [*c]u8) os.fd_t { - const topic_len = c.strlen(topic_opt); - const topic: []u8 = topic_opt[0..topic_len]; +export fn journal_open(topic_cptr: ?[*]u8) os.fd_t { + const topic = sliceify(topic_cptr.?); const journal_dir = std.fs.path.resolve(allocator, [_][]const u8{ std.os.getenvC(c"HOME").?, @@ -61,10 +56,11 @@ export fn journal_open(topic_opt: [*c]u8) os.fd_t { return fd; } -export fn journal_write(journal: os.fd_t, message: [*c]u8) void { - const msglen = c.strlen(message); - - std.os.write(journal, message[0..msglen]) catch |err| { +export fn journal_write(journal: os.fd_t, message_cptr: ?[*]u8) void { + std.os.write( + journal, + sliceify(message_cptr.?), + ) catch |err| { std.debug.warn("Error while writing to file: {}\n", err); return; }; @@ -76,24 +72,25 @@ export fn journal_close(journal: os.fd_t) void { export fn journal_write_topic( journal: os.fd_t, - topic_opt: [*c]u8, - message_opt: [*c]u8, + topic_cptr: ?[*]u8, + message_cptr: ?[*]u8, ) void { - var topic = topic_opt[0..c.strlen(topic_opt)]; - var message = message_opt[0..c.strlen(message_opt)]; + var topic = sliceify(topic_cptr.?); + var message = sliceify(message_cptr.?); + + var tstamp_total = allocator.alloc(u8, 128); + defer allocator.free(tstamp_total); - var tstamp_cstr: [*c]u8 = alloc_str(128); var rawtime: c.time_t = undefined; _ = c.time(&rawtime); var cur_time: [*c]const c.struct_tm = c.gmtime(&rawtime); - _ = c.strftime(tstamp_cstr, usize(128), c"%c", cur_time); + _ = c.strftime(tstamp_cstr.ptr, usize(128), c"%c", cur_time); - var tstamp = tstamp_cstr[0..c.strlen(tstamp_cstr)]; + var tstamp = sliceify(tstamp_total); std.debug.warn("tstamp: {}\ntopic: {}\nmsg: {}\n", tstamp, topic, message); - // catch unreachable is intended. var fmt_msg = std.fmt.allocPrint( allocator, "[{}] [{}]: {}\n", @@ -105,12 +102,11 @@ export fn journal_write_topic( return; }; + // catch unreachable is intended. var fmt_msg_cstr = std.cstr.addNullByte( allocator, fmt_msg, ) catch unreachable; - free_str(tstamp_cstr); - journal_write(journal, fmt_msg_cstr.ptr); } From f3b8196ac50f06c4228504caa05dc2bb91c2d5e0 Mon Sep 17 00:00:00 2001 From: Luna Date: Sun, 11 Aug 2019 11:17:13 -0300 Subject: [PATCH 8/9] journal: catch err, add sliceifyKnown --- build.zig | 2 +- src/journal/journal.zig | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/build.zig b/build.zig index b2eaaac..4327cde 100644 --- a/build.zig +++ b/build.zig @@ -9,7 +9,7 @@ pub fn build(b: *Builder) void { const source_files = [_][]const u8{"src/journal/main.c"}; for (source_files) |source| { - exe.addCSourceFile(source, [_][]const u8{"-W -O"}); + exe.addCSourceFile(source, [_][]const u8{"-Wall"}); } const zig_sources = [_][]const u8{"src/journal/journal.zig"}; diff --git a/src/journal/journal.zig b/src/journal/journal.zig index e1f6826..af166b7 100644 --- a/src/journal/journal.zig +++ b/src/journal/journal.zig @@ -16,6 +16,10 @@ fn sliceify(ptr: [*]u8) []u8 { return ptr[0..c.strlen(ptr)]; } +fn sliceifyKnown(slice: []u8) []u8 { + return slice[0..c.strlen(slice.ptr)]; +} + export fn journal_open(topic_cptr: ?[*]u8) os.fd_t { const topic = sliceify(topic_cptr.?); @@ -75,19 +79,23 @@ export fn journal_write_topic( topic_cptr: ?[*]u8, message_cptr: ?[*]u8, ) void { + warn("zig uwu\n"); var topic = sliceify(topic_cptr.?); var message = sliceify(message_cptr.?); - var tstamp_total = allocator.alloc(u8, 128); + var tstamp_total = allocator.alloc(u8, 128) catch |err| { + warn("failed to allocate string for timestamp\n"); + return; + }; defer allocator.free(tstamp_total); var rawtime: c.time_t = undefined; _ = c.time(&rawtime); var cur_time: [*c]const c.struct_tm = c.gmtime(&rawtime); - _ = c.strftime(tstamp_cstr.ptr, usize(128), c"%c", cur_time); + _ = c.strftime(tstamp_total.ptr, usize(128), c"%c", cur_time); - var tstamp = sliceify(tstamp_total); + var tstamp = sliceifyKnown(tstamp_total); std.debug.warn("tstamp: {}\ntopic: {}\nmsg: {}\n", tstamp, topic, message); From 8e9faefc0ec6db4c2d4b30d56b7c712d1f7c5e02 Mon Sep 17 00:00:00 2001 From: Luna Date: Sun, 11 Aug 2019 11:17:47 -0300 Subject: [PATCH 9/9] rm debug print --- src/journal/journal.zig | 1 - 1 file changed, 1 deletion(-) diff --git a/src/journal/journal.zig b/src/journal/journal.zig index af166b7..d320aa0 100644 --- a/src/journal/journal.zig +++ b/src/journal/journal.zig @@ -79,7 +79,6 @@ export fn journal_write_topic( topic_cptr: ?[*]u8, message_cptr: ?[*]u8, ) void { - warn("zig uwu\n"); var topic = sliceify(topic_cptr.?); var message = sliceify(message_cptr.?);