diff options
| author | Charles.Forsyth <devnull@localhost> | 2006-12-22 17:07:39 +0000 |
|---|---|---|
| committer | Charles.Forsyth <devnull@localhost> | 2006-12-22 17:07:39 +0000 |
| commit | 37da2899f40661e3e9631e497da8dc59b971cbd0 (patch) | |
| tree | cbc6d4680e347d906f5fa7fca73214418741df72 /appl/cmd/nsbuild.b | |
| parent | 54bc8ff236ac10b3eaa928fd6bcfc0cdb2ba46ae (diff) | |
20060303a
Diffstat (limited to 'appl/cmd/nsbuild.b')
| -rw-r--r-- | appl/cmd/nsbuild.b | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/appl/cmd/nsbuild.b b/appl/cmd/nsbuild.b new file mode 100644 index 00000000..36c5b86a --- /dev/null +++ b/appl/cmd/nsbuild.b @@ -0,0 +1,41 @@ +implement Nsbuild; + +include "sys.m"; + sys: Sys; +include "draw.m"; + +include "newns.m"; + +stderr: ref Sys->FD; + +Nsbuild: module +{ + init: fn(ctxt: ref Draw->Context, argv: list of string); +}; + +init(nil: ref Draw->Context, argv: list of string) +{ + sys = load Sys Sys->PATH; + stderr = sys->fildes(2); + + ns := load Newns "/dis/lib/newns.dis"; + if(ns == nil) { + sys->fprint(stderr, "nsbuild: can't load %s: %r", Newns->PATH); + raise "fail:load"; + } + + if(len argv > 2) { + sys->fprint(stderr, "Usage: nsbuild [nsfile]\n"); + raise "fail:usage"; + } + + nsfile := "namespace"; + if(len argv == 2) + nsfile = hd tl argv; + + e := ns->newns(nil, nsfile); + if(e != ""){ + sys->fprint(stderr, "nsbuild: error building namespace: %s\n", e); + raise "fail:newns"; + } +} |
