ref: 100da20faddccbd67ca15b857474a5fb173e1454
parent: 549b5c51465321635ea3f59f870de689b2a3fc59
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!!! */
--
⑨