ref: d618223086e32bc26d64eb20bfcb3de31536782f
parent: 9fc38d43d45185c25cf74361b4bb778c611b015d
author: Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
date: Fri Jun 10 16:22:39 EDT 2022
ape/bsd/listen.c: Do not try to issue "announce *". "port >= 0" is always true, because the port always gets filtered through "htons" which returns "unsigned short", so we can just drop the "else" branch here. Anyway "announce 0" works fine with the Plan9 API, there is not need for "announce *" here.
--- a/sys/src/ape/lib/bsd/listen.c
+++ b/sys/src/ape/lib/bsd/listen.c
@@ -121,7 +121,7 @@
int backlog;
{
Rock *r;
- int n, cfd, port;
+ int n, cfd;
char msg[128];
struct sockaddr_un *lunix;
@@ -139,17 +139,13 @@
errno = EBADF;
return -1;
}
- port = _sock_inport(&r->addr);
- if(port >= 0) {
- if(write(cfd, "bind 0", 6) < 0) {
- errno = EGREG;
- close(cfd);
- return -1;
- }
- snprintf(msg, sizeof msg, "announce %d", port);
+ /* FIXME: What is this good for? */
+ if(write(cfd, "bind 0", 6) < 0) {
+ errno = EGREG;
+ close(cfd);
+ return -1;
}
- else
- strcpy(msg, "announce *");
+ snprintf(msg, sizeof msg, "announce %d", _sock_inport(&r->addr));
n = write(cfd, msg, strlen(msg));
if(n < 0){
errno = EOPNOTSUPP; /* Improve error reporting!!! */