16 Jul, 2008, mtfox wrote in the 1st comment:
Votes: 0
in function void imc_display_channel within imc.c

after :

if( IMCPERM( ch ) < c->level || !imc_hasname( IMC_LISTEN( ch ), c->local_name ) )
continue;


insert:

if( imc_isignoring( ch, from ) )
continue;


That should stop an individual from showing up on any of the channels if said person has the individual on imcignore. imcignore is case sensitive, so "imcignore add Kayle@HW" not kayle@hw

I only use Kayle as an example….

any light on making in not case sensitive would be appreciated.

this was in the freedom client, not sure code wise on others…
16 Jul, 2008, kiasyn wrote in the 2nd comment:
Votes: 0
I see absolutely no reason why this should only be a short term fix - looks more like exactly how it should always be handled, as ignores are handled [imc] client side.

As for case sensitivity, check that your str_prefix function is case insensitive.
16 Jul, 2008, Kline wrote in the 3rd comment:
Votes: 0
Indeed, check (or change) your local str_prefix. Mine is already case insensitive as it converts everything (astr and bstr) to LOWER() first. Thanks for the quick update, though.
28 Aug, 2008, Guest wrote in the 4th comment:
Votes: 0
A late follow-up fix for this that's going to be in the next Freedom client update along with the first fix in this post. So that the imcignore function ACTUALLY WORKS for a change.

bool imc_isignoring( CHAR_DATA * ch, const char *ignore )
{
IMC_IGNORE *temp;

for( temp = FIRST_IMCIGNORE( ch ); temp; temp = temp->next )
{
if( !strcasecmp( imc_nameof( temp->name ), "*" ) )
{
if( !strcasecmp( imc_mudof( temp->name ), imc_mudof( ignore ) ) )
return TRUE;
}

if( !strcasecmp( imc_mudof( temp->name ), "*" ) )
{
if( !strcasecmp( imc_nameof( temp->name ), imc_nameof( ignore ) ) )
return TRUE;
}

if( !str_prefix( ignore, temp->name ) )
return TRUE;
}
return FALSE;
}
0.0/4