Blame


1 7c709434 2005-03-18 devnull #!/usr/local/plan9/bin/rc
2 7c709434 2005-03-18 devnull
3 7c709434 2005-03-18 devnull if(! ~ $#* 2){
4 baf7825e 2005-03-20 devnull echo usage: netfilestat system path >[1=2]
5 7c709434 2005-03-18 devnull exit usage
6 7c709434 2005-03-18 devnull }
7 7c709434 2005-03-18 devnull
8 7c709434 2005-03-18 devnull f=dostat
9 7c709434 2005-03-18 devnull
10 b8c9f317 2005-03-21 devnull . netfilelib.rc $1
11 7c709434 2005-03-18 devnull
12 7c709434 2005-03-18 devnull fn dostat {
13 65fb6fb7 2005-03-24 devnull echo cd $2 | runsftp $1
14 65fb6fb7 2005-03-24 devnull if(9 test -e $t.sftp -a ! -s $t.sftp){
15 7c709434 2005-03-18 devnull echo directory
16 7c709434 2005-03-18 devnull exit 0
17 7c709434 2005-03-18 devnull }
18 65fb6fb7 2005-03-24 devnull if(9 grep -s 'Can''t change directory|is not a directory' $t.sftp){
19 7c709434 2005-03-18 devnull echo file
20 7c709434 2005-03-18 devnull exit 0
21 7c709434 2005-03-18 devnull }
22 65fb6fb7 2005-03-24 devnull if(9 grep -s 'Couldn''t stat remote file|such file' $t.sftp){
23 b8c9f317 2005-03-21 devnull echo nonexistent
24 7c709434 2005-03-18 devnull exit 0
25 7c709434 2005-03-18 devnull }
26 65fb6fb7 2005-03-24 devnull {
27 65fb6fb7 2005-03-24 devnull echo unknown error:
28 65fb6fb7 2005-03-24 devnull sed 's/^/ /' $t.sftp
29 65fb6fb7 2005-03-24 devnull } >[1=2]
30 7c709434 2005-03-18 devnull exit 0
31 7c709434 2005-03-18 devnull }
32 7c709434 2005-03-18 devnull
33 7c709434 2005-03-18 devnull fn dostat9p {
34 7c709434 2005-03-18 devnull if(! 9p ls -ld $1/$2 >$t >[2]/dev/null){
35 7c709434 2005-03-18 devnull echo nonexistent
36 7c709434 2005-03-18 devnull exit 0
37 7c709434 2005-03-18 devnull }
38 7c709434 2005-03-18 devnull if(9 grep -s '^d' $t){
39 7c709434 2005-03-18 devnull echo directory
40 7c709434 2005-03-18 devnull exit 0
41 7c709434 2005-03-18 devnull }
42 7c709434 2005-03-18 devnull echo file
43 7c709434 2005-03-18 devnull exit 0
44 7c709434 2005-03-18 devnull }
45 7c709434 2005-03-18 devnull
46 7c709434 2005-03-18 devnull $f $1 $2