fixes for latest zig

This commit is contained in:
Luna 2019-07-13 09:55:01 -03:00
parent 6afa1f1f3a
commit 7d1b87d8df
2 changed files with 12 additions and 8 deletions

View file

@ -6,13 +6,13 @@ pub fn build(b: *Builder) void {
exe.setBuildMode(mode); exe.setBuildMode(mode);
exe.linkSystemLibrary("c"); 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| { 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| { for (zig_sources) |source| {
const obj = b.addObject("journal", source); const obj = b.addObject("journal", source);

View file

@ -14,6 +14,10 @@ fn alloc_str(size: c_ulong) [*c]u8 {
return @ptrCast([*c]u8, @alignCast(@alignOf(u8), c.malloc(c_ulong(size)))); 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) { export fn journal_open(topic: [*c]u8) [*c](c.FILE) {
var home_path: [*c]const u8 = c.getenv(c"HOME"); 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); _ = 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); //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); _ = 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"); var res: [*c](c.FILE) = c.fopen(journal_path, c"a");
c.free(@ptrCast(?*c_void, journal_path)); free_str(journal_path);
c.free(@ptrCast(?*c_void, journal_dir)); free_str(journal_dir);
return res; 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.strftime(tstamp, usize(128), c"%c", cur_time);
_ = c.sprintf(fmt_msg, c"[%s] [%s]: %s\n", tstamp, topic, message); _ = 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); journal_write(journal, fmt_msg);
} }