Firstly.. that link gives a nice "Forbbiden" message so we can't see the text file
Ok, since two (or more) heads are better than one... can anyone spot the segfault here?
void do_logins( CHAR_DATA *ch )
for( x = 0; x < MAX_CONNHISTORY; x++ )
if ( sys.connhistory[x] == NULL )
send_to_char( "No Data.\r\n", ch );
sprintf( buf, sys.connhistory[x] );
send_to_char( buf, ch );
And you are initalizing all the sys.conhistory entries to NULL before you ever use it don't you? As otherwise it will start with some random value prolly, which isn't NULL (which is classically 0x0) and it will attempt a sprintf() with it, being an invalid pointer when it accesses it, code dumping follows
Now, the update_connhistory code seems to work alright, as it doesn't segfault when people connect or quit (I have it setup to do the updates then for now). When I try to use this command though, it does.
You would never see a problem if you are always comparing against NULL as you are simply shifting around a bunch of invalid pointers, but unless you access those pointers it will never know... and thus when you try to view the invalid pointers... kaboom
All I can think of right this min...