csdial: avoid useless werrstr() call on success (thanks mischief)
This commit is contained in:
parent
c4fec93ab9
commit
b4d13efc1e
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue