} else if ( filter_mask == CFBYNAME ) {
char *foo = strchr ( param, '*' ) + 1;
if ( strncasecmp ( iter -> catname, param, strlen ( iter -> catname ) ) == 0 &&
+ iter -> parent_catname &&
strcasecmp ( iter -> parent_catname, foo ) == 0 )
{
interested = 1;
r_buffer [ 0 ] = '\0'; // truncate!
} else if ( event.key.keysym.sym == SDLK_RETURN || event.key.keysym.sym == SDLK_END ) { // return, or "B"
- return ( 1 );
+ // on Enter/Return or B, if the buffer has 1 or more chars, we return it as valid.. otherwise, invalid.
+ if ( strlen ( r_buffer ) > 0 ) {
+ return ( 1 );
+ }
+ return ( 0 );
} else if ( event.key.keysym.sym == SDLK_LSHIFT || event.key.keysym.sym == SDLK_RSHIFT ) {
shifted = 1;