when i run exult in console (using svgalib via sdl) everything works fine through the menus, up to the palette-rotating blue screen, after which it segfaults. stracing it revealed that it segfaults at attempting to establish the exultserver socket:
unlink("/home/lanzz/u7p2/gamedat/exultserver") = 0
socket(PF_UNSPEC, 0 /* SOCK_??? */, 0) = 22
bind(0, NULL, 0) = 0
listen(0, 0) = 0
write(1, "Listening on socket 22\n", 23) = 23
sendto(22, 0x3, 22, MSG_OOB|MSG_PEEK, {...}, 3221220760) = 2
sendto(22, 0x4, 2050, MSG_DONTROUTE, {...}, 3221220748) = 0
--- SIGSEGV (Segmentation fault) ---
looking at server/server.cc, it seems that somehow getaddrinfo() fails undetected and returns crap:
#if HAVE_GETADDRINFOX
// Don't use the old deprecated network API
int r;
struct addrinfo hints,*ai;
memset(&hints,0,sizeof(hints));
hints.ai_flags=AI_PASSIVE;
r=getaddrinfo( 0,
servename.c_str(),
&hints,
&ai);
if(r!=0)
{
cerr ai_family, ai->ai_socktype, ai->ai_protocol);
#else
// Deprecated
listen_socket = socket(PF_LOCAL, SOCK_STREAM, 0);
#endif
this isn't really an issue because i have no problems running it in X, i just got curious if it would run nice in svgalib, and now i'm curious why it doesn't. i'm not really a coder, but it is obvious that getaddrinfo() shouldn't depend on whether you run it in X or console, so i'm even more curious now
exult in svgalib?
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions