aboutsummaryrefslogtreecommitdiff
path: root/std/special/bootstrap.zig
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2017-04-04 00:17:24 -0400
committerAndrew Kelley <superjoe30@gmail.com>2017-04-04 00:17:24 -0400
commit72fb2443e0e5dd0c8c3a0265428832796b4ff548 (patch)
treedd4cfda1e44784a80538ccd3c6d776c3fb664651 /std/special/bootstrap.zig
parentb46344fd01db28384b51d9898ef25c4825bb19b0 (diff)
downloadzig-72fb2443e0e5dd0c8c3a0265428832796b4ff548.tar.gz
zig-72fb2443e0e5dd0c8c3a0265428832796b4ff548.zip
API for command line args
closes #300
Diffstat (limited to 'std/special/bootstrap.zig')
-rw-r--r--std/special/bootstrap.zig10
1 files changed, 2 insertions, 8 deletions
diff --git a/std/special/bootstrap.zig b/std/special/bootstrap.zig
index 3a210987d8..3b014869f9 100644
--- a/std/special/bootstrap.zig
+++ b/std/special/bootstrap.zig
@@ -37,20 +37,14 @@ fn callMainAndExit() -> noreturn {
exit(0);
}
-var args_data: [32][]u8 = undefined;
fn callMain(argc: usize, argv: &&u8, envp: &?&u8) -> %void {
- // TODO create args API to make it work with > 32 args
- const args = args_data[0...argc];
- for (args) |_, i| {
- const ptr = argv[i];
- args[i] = ptr[0...std.cstr.len(ptr)];
- }
+ std.os.args.raw = argv[0...argc];
var env_count: usize = 0;
while (envp[env_count] != null; env_count += 1) {}
std.os.environ_raw = @ptrcast(&&u8, envp)[0...env_count];
- return root.main(args);
+ return root.main();
}
export fn main(c_argc: i32, c_argv: &&u8, c_envp: &?&u8) -> i32 {