From e5888a1ffdae813d7575f5fb02275c6bb07e5199 Mon Sep 17 00:00:00 2001 From: Taru Karttunen Date: Wed, 30 Mar 2011 15:46:40 +0300 Subject: Import sources from 2011-03-30 iso image --- sys/src/cmd/bind.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 sys/src/cmd/bind.c (limited to 'sys/src/cmd/bind.c') diff --git a/sys/src/cmd/bind.c b/sys/src/cmd/bind.c new file mode 100755 index 000000000..901cdcd8f --- /dev/null +++ b/sys/src/cmd/bind.c @@ -0,0 +1,52 @@ +#include +#include + +void usage(void); + +void +main(int argc, char *argv[]) +{ + ulong flag = 0; + int qflag = 0; + + ARGBEGIN{ + case 'a': + flag |= MAFTER; + break; + case 'b': + flag |= MBEFORE; + break; + case 'c': + flag |= MCREATE; + break; + case 'q': + qflag = 1; + break; + default: + usage(); + }ARGEND + + if(argc != 2 || (flag&MAFTER)&&(flag&MBEFORE)) + usage(); + + if(bind(argv[0], argv[1], flag) < 0){ + if(qflag) + exits(0); + /* try to give a less confusing error than the default */ + if(access(argv[0], 0) < 0) + fprint(2, "bind: %s: %r\n", argv[0]); + else if(access(argv[1], 0) < 0) + fprint(2, "bind: %s: %r\n", argv[1]); + else + fprint(2, "bind %s %s: %r\n", argv[0], argv[1]); + exits("bind"); + } + exits(0); +} + +void +usage(void) +{ + fprint(2, "usage: bind [-b|-a|-c|-bc|-ac] new old\n"); + exits("usage"); +} -- cgit v1.2.3