ssize_t do_recv(struct utcp_connection *x, const void *data, size_t len) {
if(!len) {
- if(errno)
- fprintf(stderr, "%p Error: %s\n", x->utcp, strerror(errno));
- else
- fprintf(stderr, "%p Connection closed by peer\n", x->utcp);
+ if(errno) {
+ fprintf(stderr, "%p Error: %s\n", (void *)x->utcp, strerror(errno));
+ } else {
+ fprintf(stderr, "%p Connection closed by peer\n", (void *)x->utcp);
+ }
+
if(x != c) {
fprintf(stderr, "closing my side too...\n");
utcp_close(x);
}
+
return -1;
}
- if(x == c)
+ if(x == c) {
return write(0, data, len);
- else
+ } else {
return utcp_send(x, data, len);
+ }
}
bool do_pre_accept(struct utcp *utcp, uint16_t port) {
(void)utcp;
fprintf(stderr, "pre-accept\n");
- if(port != 7)
+
+ if(port != 7) {
return false;
+ }
+
return true;
}
ssize_t do_send(struct utcp *utcp, const void *data, size_t len) {
static int count = 0;
+
if(++count > 1000) {
fprintf(stderr, "Too many packets!\n");
abort();
}
- if(utcp == a)
+ if(utcp == a) {
return utcp_recv(b, data, len);
- else
+ } else {
return utcp_recv(a, data, len);
+ }
}
int main(int argc, char *argv[]) {
ssize_t len = utcp_send(c, "Hello world!\n", 13);
if(len != 13) {
- if(len == -1)
+ if(len == -1) {
fprintf(stderr, "Error: %s\n", strerror(errno));
- else
+ } else {
fprintf(stderr, "Short write %zd!\n", len);
+ }
}
+
len = utcp_send(c, "This is a test.\n", 16);
if(len != 16) {
- if(len == -1)
+ if(len == -1) {
fprintf(stderr, "Error: %s\n", strerror(errno));
- else
+ } else {
fprintf(stderr, "Short write %zd!\n", len);
+ }
}
fprintf(stderr, "closing...\n");
char buf[20480] = "buf";
len = utcp_send(c, buf, sizeof(buf));
- if(len != 10240)
+
+ if(len != 10240) {
fprintf(stderr, "Error: utcp_send() returned %zd, expected 10240\n", len);
+ }
fprintf(stderr, "closing...\n");
utcp_close(c);