csdial: avoid useless werrstr() call on success (thanks mischief)

This commit is contained in:
cinap_lenrek 2014-02-25 20:14:08 +01:00
parent c4fec93ab9
commit b4d13efc1e

View file

@ -99,29 +99,30 @@ csdial(DS *ds)
* loop through each address from the connection server till * loop through each address from the connection server till
* we get one that works. * we get one that works.
*/ */
*besterr = 0;
rv = -1; rv = -1;
*err = 0;
*besterr = 0;
seek(fd, 0, 0); seek(fd, 0, 0);
while((n = read(fd, buf, sizeof(buf) - 1)) > 0){ while((n = read(fd, buf, sizeof(buf) - 1)) > 0){
buf[n] = 0; buf[n] = 0;
p = strchr(buf, ' '); p = strchr(buf, ' ');
if(p == 0) if(p == nil)
continue; continue;
*p++ = 0; *p++ = 0;
rv = call(buf, p, ds); rv = call(buf, p, ds);
if(rv >= 0) if(rv >= 0)
break; break;
err[0] = '\0'; *err = 0;
errstr(err, sizeof err); errstr(err, sizeof err);
if(strstr(err, "does not exist") == 0) if(strstr(err, "does not exist") == 0)
strcpy(besterr, err); strcpy(besterr, err);
} }
close(fd); close(fd);
if(rv < 0 && *besterr) /* restore errstr if any */
werrstr("%s", besterr); if(rv < 0 && *err)
else errstr(*besterr ? besterr : err, sizeof err);
werrstr("%s", err);
return rv; return rv;
} }