@@ -200,7 +200,7 @@ func (driver *MainDriver) getCertificate() (*tls.Certificate, error) {
200200// WelcomeUser is called to send the very first welcome message
201201func (driver * MainDriver ) WelcomeUser (cc server.ClientContext ) (string , error ) {
202202 nbClients := atomic .AddInt32 (& driver .nbClients , 1 )
203- if nbClients > driver .config .MaxConnections {
203+ if driver . config . MaxConnections != 0 && nbClients > driver .config .MaxConnections {
204204 return "Cannot accept any additional client" , fmt .Errorf (
205205 "too many clients: %d > % d" ,
206206 driver .nbClients ,
@@ -313,8 +313,11 @@ func (driver *ClientDriver) OpenFile(cc server.ClientContext, path string, flag
313313 if (flag & os .O_WRONLY ) != 0 {
314314 flag |= os .O_CREATE
315315 if (flag & os .O_APPEND ) == 0 {
316- if err := os .Remove (path ); err != nil {
317- fmt .Println ("Problem removing file" , path , "err:" , err )
316+ _ , err := os .Stat (path )
317+ if ! os .IsNotExist (err ) {
318+ if err := os .Remove (path ); err != nil {
319+ fmt .Println ("Problem removing file" , path , "err:" , err )
320+ }
318321 }
319322 }
320323 }
@@ -415,7 +418,7 @@ func (f *virtualFile) Seek(n int64, w int) (int64, error) {
415418}
416419
417420func (f * virtualFile ) Write (buffer []byte ) (int , error ) {
418- return 0 , nil
421+ return len ( buffer ) , nil
419422}
420423
421424type virtualFileInfo struct {
0 commit comments