Hi. I've successfully started Racket 5.3.4.7 with Geiser server through JNI + 
SDL2 on Android (and this combination mostly works with small hacks), but got 
some issues due to racket's implementation. This is last one I'm trying to 
understand. What should be here instead of the "address" expression?

2349    } else {
2350      scheme_raise_exn(MZEXN_FAIL_NETWORK,
2351                       "tcp-listen: host not found\n"
2352                       " address: %s\n"
2353                       " system error: %N",
2354                       address, 1, err);
2355      return NULL;
2356    }
2357  }
https://github.com/plt/racket/blob/master/src/racket/src/network.c#L2354

It looks like there should be (but i'm not sure)

   address ? address : "#f" // as i see at another place, because it's possible 
to have NULL according to the:

https://github.com/plt/racket/blob/master/src/racket/src/network.c#L2147

Without such change I got segfault because sch_vsprintf tried to process NULL 
pointer, when i forgot to grant internet permissions for my application and 
tried to call start-geiser function (getaddrinfo returns fail in this situation 
and this `else` block is called).



-- 
Alex Moiseenko
_________________________
  Racket Developers list:
  http://lists.racket-lang.org/dev

Reply via email to