goto done;
if (!fgets(buf, sizeof(buf), fp)) goto done; /* skip header */
len = strlen(sun->sun_path);
+ rc = 0;
while (fgets(buf, sizeof(buf), fp)) {
n = strlen(buf);
if (n >= len + 2 && buf[n - len - 2] == ' ' && buf[n - 1] == '\n' &&
- memcmp(buf + n - len - 1, sun->sun_path, len) == 0)
- goto done;
+ memcmp(buf + n - len - 1, sun->sun_path, len) == 0) {
+ rc |= USED;
+ }
}
if (ferror(fp))
goto done;
- rc = STALE;
+ if (!rc) rc = STALE;
done:
if (fp) fclose(fp);
snprintf(sun->sun_path, sizeof(sun->sun_path), "%s/%s", sockdir,
present_sockaddr(sa, 0, buf, sizeof(buf)));
- if ((rc = unix_socket_status(sun, quickp)) == USED) return (USED);
- else if (rc == STALE) unlink(sun->sun_path);
- return (UNUSED);
+ rc = unix_socket_status(sun, quickp);
+ if (rc == STALE) unlink(sun->sun_path);
+ return (rc);
}
/* Convert the IP address SA to a Unix-domain address SUN. Fail if the