コミットを比較
3 コミット
73d14c0d72
...
f009420129
作成者 | SHA1 | 日付 |
---|---|---|
守矢諏訪子 | f009420129 | |
守矢諏訪子 | 57ead0820a | |
守矢諏訪子 | 79a9a91848 |
|
@ -0,0 +1,3 @@
|
|||
[submodule "libtoki"]
|
||||
path = libtoki
|
||||
url = https://gitler.moe/suwako/libtoki
|
2
Makefile
2
Makefile
|
@ -1,5 +1,5 @@
|
|||
NAME=coreutils
|
||||
VERSION := $(shell cat version.zig | grep "pub const version" | awk '{print $$5}' | sed "s/\"//g" | sed "s/;//")
|
||||
VERSION := $(shell cat version.zig | grep "const version" | awk '{print $$4}' | sed "s/\"//g" | sed "s/;//")
|
||||
PREFIX=/usr
|
||||
MANPREFIX=${PREFIX}/share/man
|
||||
PROG=basename cat cp dirname echo false groups ls mkdir pwd rm touch true wc whoami
|
||||
|
|
15
TODO.md
15
TODO.md
|
@ -1,6 +1,6 @@
|
|||
* [ ] awk
|
||||
* [ ] basename
|
||||
* [-] cat
|
||||
* [x] basename
|
||||
* [x] cat
|
||||
* [ ] chmod
|
||||
* [ ] chown
|
||||
* [ ] cksum
|
||||
|
@ -9,11 +9,13 @@
|
|||
* [ ] dd
|
||||
* [ ] df
|
||||
* [ ] diff
|
||||
* [x] dirname
|
||||
* [ ] du
|
||||
* [ ] echo
|
||||
* [x] echo
|
||||
* [ ] env
|
||||
* [x] false
|
||||
* [ ] grep
|
||||
* [ ] groups
|
||||
* [x] groups
|
||||
* [ ] head
|
||||
* [ ] hostid
|
||||
* [ ] hostname
|
||||
|
@ -58,6 +60,7 @@
|
|||
* [ ] timeout
|
||||
* [-] touch
|
||||
* [ ] tr
|
||||
* [x] true
|
||||
* [ ] truncate
|
||||
* [ ] tsort
|
||||
* [ ] tty
|
||||
|
@ -68,6 +71,6 @@
|
|||
* [ ] uptime
|
||||
* [ ] users
|
||||
* [ ] vdir
|
||||
* [ ] wc
|
||||
* [x] wc
|
||||
* [ ] who
|
||||
* [ ] whoami
|
||||
* [x] whoami
|
||||
|
|
14
basename.zig
14
basename.zig
|
@ -2,7 +2,7 @@ const std = @import("std");
|
|||
const fs = std.fs;
|
||||
const io = std.io;
|
||||
|
||||
const version = @import("version.zig").version;
|
||||
const version = @import("version.zig");
|
||||
|
||||
fn help() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
|
@ -19,16 +19,6 @@ fn help() !void {
|
|||
try bw.flush();
|
||||
}
|
||||
|
||||
fn ver() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
var bw = io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
|
||||
try stdout.print("basename (076 coreutils) {s}\n", .{version});
|
||||
|
||||
try bw.flush();
|
||||
}
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
|
@ -62,7 +52,7 @@ pub fn main() !void {
|
|||
return;
|
||||
}
|
||||
if (i == 'v') {
|
||||
try ver();
|
||||
try version.ver("basename");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
14
cat.zig
14
cat.zig
|
@ -2,7 +2,7 @@ const std = @import("std");
|
|||
const fs = std.fs;
|
||||
const io = std.io;
|
||||
|
||||
const version = @import("version.zig").version;
|
||||
const version = @import("version.zig");
|
||||
|
||||
fn help() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
|
@ -24,16 +24,6 @@ fn help() !void {
|
|||
try bw.flush();
|
||||
}
|
||||
|
||||
fn ver() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
var bw = io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
|
||||
try stdout.print("cat (076 coreutils) {s}\n", .{version});
|
||||
|
||||
try bw.flush();
|
||||
}
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
|
@ -74,7 +64,7 @@ pub fn main() !void {
|
|||
return;
|
||||
}
|
||||
if (i == 'v') {
|
||||
try ver();
|
||||
try version.ver("cat");
|
||||
return;
|
||||
}
|
||||
if (i == 'b') isnun = true;
|
||||
|
|
14
cp.zig
14
cp.zig
|
@ -2,7 +2,7 @@ const std = @import("std");
|
|||
const fs = std.fs;
|
||||
const io = std.io;
|
||||
|
||||
const version = @import("version.zig").version;
|
||||
const version = @import("version.zig");
|
||||
|
||||
fn help() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
|
@ -20,16 +20,6 @@ fn help() !void {
|
|||
try bw.flush();
|
||||
}
|
||||
|
||||
fn ver() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
var bw = io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
|
||||
try stdout.print("cp (076 coreutils) {s}\n", .{version});
|
||||
|
||||
try bw.flush();
|
||||
}
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
|
@ -63,7 +53,7 @@ pub fn main() !void {
|
|||
return;
|
||||
}
|
||||
if (i == 'v') {
|
||||
try ver();
|
||||
try version.ver("cp");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
14
dirname.zig
14
dirname.zig
|
@ -2,7 +2,7 @@ const std = @import("std");
|
|||
const fs = std.fs;
|
||||
const io = std.io;
|
||||
|
||||
const version = @import("version.zig").version;
|
||||
const version = @import("version.zig");
|
||||
|
||||
fn help() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
|
@ -19,16 +19,6 @@ fn help() !void {
|
|||
try bw.flush();
|
||||
}
|
||||
|
||||
fn ver() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
var bw = io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
|
||||
try stdout.print("dirname (076 coreutils) {s}\n", .{version});
|
||||
|
||||
try bw.flush();
|
||||
}
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
|
@ -62,7 +52,7 @@ pub fn main() !void {
|
|||
return;
|
||||
}
|
||||
if (i == 'v') {
|
||||
try ver();
|
||||
try version.ver("dirname");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
70
echo.zig
70
echo.zig
|
@ -2,7 +2,7 @@ const std = @import("std");
|
|||
const io = std.io;
|
||||
const os = std.os;
|
||||
|
||||
const version = @import("version.zig").version;
|
||||
const version = @import("version.zig");
|
||||
|
||||
fn help() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
|
@ -12,21 +12,65 @@ fn help() !void {
|
|||
try stdout.print("076 coreutils\n", .{});
|
||||
try stdout.print("使用法: echo\n", .{});
|
||||
try stdout.print("文章を表示\n\n", .{});
|
||||
try stdout.print("-n ニューラインを見逃す\n", .{});
|
||||
try stdout.print("-e バックスラッシュエスケープ\n", .{});
|
||||
try stdout.print("-h ヘルプを表示\n", .{});
|
||||
try stdout.print("-v バージョンを表示\n", .{});
|
||||
try stdout.print("-n ニューラインを見逃す\n", .{});
|
||||
|
||||
try bw.flush();
|
||||
}
|
||||
|
||||
fn ver() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
var bw = io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
fn parseEscape(text: [1024]u8) [1024]u8 {
|
||||
var i: usize = 0;
|
||||
var output: [1024]u8 = undefined;
|
||||
var output_len: usize = 0;
|
||||
|
||||
try stdout.print("echo (076 coreutils) {s}\n", .{version});
|
||||
while (i < text.len) {
|
||||
if (text[i] == '\\') {
|
||||
i += 1;
|
||||
if (i < text.len) {
|
||||
if (text[i] == 'n') {
|
||||
output[output_len] = '\n';
|
||||
output_len += 1;
|
||||
} else if (text[i] == 't') {
|
||||
output[output_len] = '\t';
|
||||
output_len += 1;
|
||||
} else if (text[i] == 'r') {
|
||||
output[output_len] = '\r';
|
||||
output_len += 1;
|
||||
} else if (text[i] == 'e') {
|
||||
if (i + 1 < text.len and text[i + 1] == '[') {
|
||||
output[output_len] = '\x1B';
|
||||
output_len += 1;
|
||||
i += 1;
|
||||
while (i < text.len and text[i] != 'm') {
|
||||
output[output_len] = text[i];
|
||||
output_len += 1;
|
||||
i += 1;
|
||||
}
|
||||
if (i < text.len) {
|
||||
output[output_len] = text[i];
|
||||
output_len += 1;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
output[output_len] = '\\';
|
||||
output_len += 1;
|
||||
output[output_len] = text[i];
|
||||
output_len += 1;
|
||||
}
|
||||
|
||||
try bw.flush();
|
||||
output_len += 1;
|
||||
}
|
||||
} else {
|
||||
output[output_len] = text[i];
|
||||
output_len += 1;
|
||||
}
|
||||
|
||||
i += 1;
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
pub fn main() !void {
|
||||
|
@ -58,24 +102,32 @@ pub fn main() !void {
|
|||
}
|
||||
|
||||
var isnonl = false;
|
||||
var isescp = false;
|
||||
for (option.items) |i| {
|
||||
if (i == 'h') {
|
||||
try help();
|
||||
return;
|
||||
}
|
||||
if (i == 'v') {
|
||||
try ver();
|
||||
try version.ver("echo");
|
||||
return;
|
||||
}
|
||||
if (i == 'n') {
|
||||
isnonl = true;
|
||||
}
|
||||
if (i == 'e') {
|
||||
isescp = true;
|
||||
}
|
||||
}
|
||||
|
||||
const stdof = io.getStdOut().writer();
|
||||
var bw = io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
|
||||
if (isescp) {
|
||||
text = parseEscape(text);
|
||||
}
|
||||
|
||||
if (isnonl) {
|
||||
try stdout.print("{s}", .{text[0..text_len]});
|
||||
} else {
|
||||
|
|
14
groups.zig
14
groups.zig
|
@ -4,7 +4,7 @@ const io = std.io;
|
|||
const os = std.os;
|
||||
const mem = std.mem;
|
||||
|
||||
const version = @import("version.zig").version;
|
||||
const version = @import("version.zig");
|
||||
|
||||
fn help() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
|
@ -20,16 +20,6 @@ fn help() !void {
|
|||
try bw.flush();
|
||||
}
|
||||
|
||||
fn ver() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
var bw = io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
|
||||
try stdout.print("groups (076 coreutils) {s}\n", .{version});
|
||||
|
||||
try bw.flush();
|
||||
}
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
|
@ -63,7 +53,7 @@ pub fn main() !void {
|
|||
return;
|
||||
}
|
||||
if (i == 'v') {
|
||||
try ver();
|
||||
try version.ver("groups");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 9cec39129a5fcfaa2840fab0f63d85cecdcff11e
|
41
ls.zig
41
ls.zig
|
@ -1,8 +1,9 @@
|
|||
const std = @import("std");
|
||||
const toki = @import("libtoki/src/main.zig");
|
||||
const fs = std.fs;
|
||||
const io = std.io;
|
||||
|
||||
const version = @import("version.zig").version;
|
||||
const version = @import("version.zig");
|
||||
|
||||
fn help() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
|
@ -14,7 +15,7 @@ fn help() !void {
|
|||
try stdout.print("FILE (デフォルトは現在のディレクトリ) に関する情報を一覧表示します。\n\n", .{});
|
||||
//try stdout.print("-a . で始まる要素を無視しない\n", .{});
|
||||
//try stdout.print("-A . および .. を一覧表示しない\n", .{});
|
||||
//try stdout.print("-l use a long listing format\n", .{});
|
||||
try stdout.print("-l use a long listing format\n", .{});
|
||||
//try stdout.print("-m -l と併せて使用され、サイズを 1K, 234M, 2Gのような形式で表示する。\n", .{});
|
||||
//try stdout.print("-r ソート順を反転させる\n", .{});
|
||||
//try stdout.print("-R 子ディレクトリを再帰的に一覧表示する\n", .{});
|
||||
|
@ -28,16 +29,6 @@ fn help() !void {
|
|||
try bw.flush();
|
||||
}
|
||||
|
||||
fn ver() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
var bw = io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
|
||||
try stdout.print("ls (076 coreutils) {s}\n", .{version});
|
||||
|
||||
try bw.flush();
|
||||
}
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
|
@ -77,7 +68,7 @@ pub fn main() !void {
|
|||
return;
|
||||
}
|
||||
if (i == 'v') {
|
||||
try ver();
|
||||
try version.ver("ls");
|
||||
return;
|
||||
}
|
||||
if (i == 'a') isa = true;
|
||||
|
@ -96,6 +87,11 @@ pub fn main() !void {
|
|||
|
||||
var iter = dir.iterate();
|
||||
var stdout = io.getStdOut().writer();
|
||||
if (isl) {
|
||||
//try stdout.print("許可\tオーナー\tグループ\t", .{});
|
||||
try stdout.print("サイズ\t変更日 (GMT)\t\tファイル名\n", .{});
|
||||
}
|
||||
|
||||
while (try iter.next()) |entry| {
|
||||
if (iss) {
|
||||
const BLOCK_SIZE: usize = 4096;
|
||||
|
@ -104,6 +100,25 @@ pub fn main() !void {
|
|||
const stat = try file.stat();
|
||||
const size = stat.size;
|
||||
try stdout.print("{d} {s}\t", .{ size / BLOCK_SIZE, entry.name });
|
||||
} else if (isl) {
|
||||
var file = try fs.cwd().openFile(entry.name, .{});
|
||||
defer file.close();
|
||||
var stats = try file.stat();
|
||||
std.debug.print("stat: {}\n", .{stats});
|
||||
var t = stats.mtime;
|
||||
const unix = toki.nanoToSecond(@intCast(t));
|
||||
const dt = toki.unixToDateTime(unix);
|
||||
|
||||
try stdout.print("{d}\t{d}-{s}-{s} {s}:{s}:{s}\t{s}\n", .{
|
||||
stats.size,
|
||||
dt.year,
|
||||
toki.fmtDigit(@intCast(dt.month)),
|
||||
toki.fmtDigit(@intCast(dt.day)),
|
||||
toki.fmtDigit(@intCast(dt.hour)),
|
||||
toki.fmtDigit(@intCast(dt.minute)),
|
||||
toki.fmtDigit(@intCast(dt.second)),
|
||||
entry.name,
|
||||
});
|
||||
} else {
|
||||
try stdout.print("{s}\t", .{entry.name});
|
||||
}
|
||||
|
|
14
mkdir.zig
14
mkdir.zig
|
@ -2,7 +2,7 @@ const std = @import("std");
|
|||
const fs = std.fs;
|
||||
const io = std.io;
|
||||
|
||||
const version = @import("version.zig").version;
|
||||
const version = @import("version.zig");
|
||||
|
||||
fn help() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
|
@ -19,16 +19,6 @@ fn help() !void {
|
|||
try bw.flush();
|
||||
}
|
||||
|
||||
fn ver() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
var bw = io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
|
||||
try stdout.print("mkdir (076 coreutils) {s}\n", .{version});
|
||||
|
||||
try bw.flush();
|
||||
}
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
|
@ -64,7 +54,7 @@ pub fn main() !void {
|
|||
return;
|
||||
}
|
||||
if (i == 'v') {
|
||||
try ver();
|
||||
try version.ver("mkdir");
|
||||
return;
|
||||
}
|
||||
if (i == 'p') {
|
||||
|
|
14
pwd.zig
14
pwd.zig
|
@ -3,7 +3,7 @@ const io = std.io;
|
|||
const os = std.os;
|
||||
const fs = std.fs;
|
||||
|
||||
const version = @import("version.zig").version;
|
||||
const version = @import("version.zig");
|
||||
|
||||
fn help() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
|
@ -19,16 +19,6 @@ fn help() !void {
|
|||
try bw.flush();
|
||||
}
|
||||
|
||||
fn ver() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
var bw = io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
|
||||
try stdout.print("pwd (076 coreutils) {s}\n", .{version});
|
||||
|
||||
try bw.flush();
|
||||
}
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
|
@ -57,7 +47,7 @@ pub fn main() !void {
|
|||
return;
|
||||
}
|
||||
if (i == 'v') {
|
||||
try ver();
|
||||
try version.ver("pwd");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
14
rm.zig
14
rm.zig
|
@ -2,7 +2,7 @@ const std = @import("std");
|
|||
const fs = std.fs;
|
||||
const io = std.io;
|
||||
|
||||
const version = @import("version.zig").version;
|
||||
const version = @import("version.zig");
|
||||
|
||||
fn help() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
|
@ -22,16 +22,6 @@ fn help() !void {
|
|||
try bw.flush();
|
||||
}
|
||||
|
||||
fn ver() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
var bw = io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
|
||||
try stdout.print("rm (076 coreutils) {s}\n", .{version});
|
||||
|
||||
try bw.flush();
|
||||
}
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
|
@ -70,7 +60,7 @@ pub fn main() !void {
|
|||
return;
|
||||
}
|
||||
if (i == 'v') {
|
||||
try ver();
|
||||
try version.ver("rm");
|
||||
return;
|
||||
}
|
||||
if (i == 'f') {
|
||||
|
|
14
touch.zig
14
touch.zig
|
@ -2,7 +2,7 @@ const std = @import("std");
|
|||
const fs = std.fs;
|
||||
const io = std.io;
|
||||
|
||||
const version = @import("version.zig").version;
|
||||
const version = @import("version.zig");
|
||||
|
||||
fn help() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
|
@ -23,16 +23,6 @@ fn help() !void {
|
|||
try bw.flush();
|
||||
}
|
||||
|
||||
fn ver() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
var bw = io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
|
||||
try stdout.print("touch (076 coreutils) {s}\n", .{version});
|
||||
|
||||
try bw.flush();
|
||||
}
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
|
@ -67,7 +57,7 @@ pub fn main() !void {
|
|||
return;
|
||||
}
|
||||
if (i == 'v') {
|
||||
try ver();
|
||||
try version.ver("touch");
|
||||
return;
|
||||
}
|
||||
if (i == 'c') {
|
||||
|
|
12
version.zig
12
version.zig
|
@ -1 +1,13 @@
|
|||
const std = @import("std");
|
||||
|
||||
pub const version = "0.0.1";
|
||||
|
||||
pub fn ver(name: []const u8) !void {
|
||||
const stdof = std.io.getStdOut().writer();
|
||||
var bw = std.io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
|
||||
try stdout.print("{s} (076 coreutils) {s}\n", .{ name, version });
|
||||
|
||||
try bw.flush();
|
||||
}
|
||||
|
|
14
wc.zig
14
wc.zig
|
@ -2,7 +2,7 @@ const std = @import("std");
|
|||
const fs = std.fs;
|
||||
const io = std.io;
|
||||
|
||||
const version = @import("version.zig").version;
|
||||
const version = @import("version.zig");
|
||||
|
||||
fn help() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
|
@ -28,16 +28,6 @@ fn help() !void {
|
|||
try bw.flush();
|
||||
}
|
||||
|
||||
fn ver() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
var bw = io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
|
||||
try stdout.print("wc (076 coreutils) {s}\n", .{version});
|
||||
|
||||
try bw.flush();
|
||||
}
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
|
@ -85,7 +75,7 @@ pub fn main() !void {
|
|||
return;
|
||||
}
|
||||
if (i == 'v') {
|
||||
try ver();
|
||||
try version.ver("wc");
|
||||
return;
|
||||
}
|
||||
if (i == 'c') isbyte = true;
|
||||
|
|
14
whoami.zig
14
whoami.zig
|
@ -3,7 +3,7 @@ const fs = std.fs;
|
|||
const io = std.io;
|
||||
const os = std.os;
|
||||
|
||||
const version = @import("version.zig").version;
|
||||
const version = @import("version.zig");
|
||||
|
||||
fn help() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
|
@ -19,16 +19,6 @@ fn help() !void {
|
|||
try bw.flush();
|
||||
}
|
||||
|
||||
fn ver() !void {
|
||||
const stdof = io.getStdOut().writer();
|
||||
var bw = io.bufferedWriter(stdof);
|
||||
const stdout = bw.writer();
|
||||
|
||||
try stdout.print("whoami (076 coreutils) {s}\n", .{version});
|
||||
|
||||
try bw.flush();
|
||||
}
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
|
@ -57,7 +47,7 @@ pub fn main() !void {
|
|||
return;
|
||||
}
|
||||
if (i == 'v') {
|
||||
try ver();
|
||||
try version.ver("whoami");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
読み込み中…
新しいイシューから参照