diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
commit | e5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch) | |
tree | d8d51eac403f07814b9e936eed0c9a79195e2450 /sys/src/cmd/bind.c |
Import sources from 2011-03-30 iso image
Diffstat (limited to 'sys/src/cmd/bind.c')
-rwxr-xr-x | sys/src/cmd/bind.c | 52 |
1 files changed, 52 insertions, 0 deletions
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 <u.h> +#include <libc.h> + +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"); +} |