@@ -52,15 +52,15 @@ func main() {
5252 }
5353 if err != nil {
5454 fmt .Println (Colored ("✘ Unable to open %s" , ColorRed , arg ))
55- continue
55+ return
5656 }
5757 if stat .IsDir () {
5858 if dirFiles , err := scanDir (argAbs ); err == nil {
5959 files = append (files , dirFiles ... )
6060 }
6161 if err != nil {
6262 fmt .Println (Colored ("✘ Unable to scan dir %s" , ColorRed , arg ))
63- continue
63+ return
6464 }
6565 } else {
6666 e := fileEntity {
@@ -80,7 +80,9 @@ func main() {
8080 if _ , err := conn .Connect (address ); err == nil {
8181 defer safeDisconnect (conn )
8282 fmt .Println (Colored ("⇄ Connected" , ColorCyan ))
83- processFiles (conn , files , dir )
83+ proto := NewProto (conn )
84+ sendFiles (proto , files )
85+ receiveFiles (proto , dir )
8486 fmt .Println (Colored ("⇵ Transfer done" , ColorCyan ))
8587 } else {
8688 fmt .Println (Colored ("✘ Unable to connect to %s" , ColorRed , address ))
@@ -90,7 +92,9 @@ func main() {
9092 if _ , err := conn .Listen (address ); err == nil {
9193 defer safeDisconnect (conn )
9294 fmt .Println (Colored ("⇄ Connected" , ColorCyan ))
93- processFiles (conn , files , dir )
95+ proto := NewProto (conn )
96+ receiveFiles (proto , dir )
97+ sendFiles (proto , files )
9498 fmt .Println (Colored ("⇵ Transfer done" , ColorCyan ))
9599 } else {
96100 fmt .Println (Colored ("✘ Unable to listen on %s" , ColorRed , address ))
@@ -100,8 +104,7 @@ func main() {
100104 }
101105}
102106
103- func processFiles (conn * Connection , files []fileEntity , dir string ) {
104- proto := NewProto (conn )
107+ func sendFiles (proto * Proto , files []fileEntity ) {
105108 for _ , file := range files {
106109 var progress * TtyProgress
107110 err := proto .SendFile (file .baseDir , file .filePath , func (relDir string , size int64 ) {
@@ -119,6 +122,9 @@ func processFiles(conn *Connection, files []fileEntity, dir string) {
119122 }
120123 }
121124 _ = proto .SendDone ()
125+ }
126+
127+ func receiveFiles (proto * Proto , dir string ) {
122128 for {
123129 var progress * TtyProgress
124130 hasMore , err := proto .ReadFile (dir , func (relDir string , name string , size int64 ) {
0 commit comments