OK, so that only get's used for socket type stuff, not other stuff. At least, I'm pretty sure that's what the link says, correct?
Yes, but you can look at the man pages for functions on your system to verify what the function signature is, how it is used, and what headers it is declared in. For example: $ man getsockname
Some systems don't have man pages installed for everything. So typing 'man getsockname' in a google search box is sometimes useful, other times not so much. because it may bring up search results from an ancient or oddball systems different from what you're running on.
Ok, one last question. I remember there being a really good tutorial on GCC someplace for muds, but can't find it. Anyone know it? My mud is starting up, but now not letting me log in and everything looks good from the log file, so I need to dig deeper.
Ahh.. Nevermind. I'm getting this error even though I haven't played with it. Any thoughts?
Program received signal SIGSEGV, Segmentation fault. 0x0809775f in spec_fido (ch=0xb7d3e1e0) at special.c:768 768 for ( corpse = ch->in_room->contents; corpse != NULL; corpse = c_next )
I'd suggest The Gammon Guide to GDB as a starting point. Once in GDB, do whatever you did to cause that error and begin examining the core or stack trace (if you ran the MUD from within GDB). p corpse, p ch->in_room->contents, etc; see if something is already pointing to NULL or invalid memory before it hits that loop. If you get stuck posting the code before and after that loop will help.
Yes, but you can look at the man pages for functions on your system to verify what the function signature is, how it is used, and what headers it is declared in.
For example:
$ man getsockname
Some systems don't have man pages installed for everything. So typing 'man getsockname' in a google search box is sometimes useful, other times not so much. because it may bring up search results from an ancient or oddball systems different from what you're running on.