diff --git a/engine/slc.h b/engine/slc.h index 3d0ac54..0d0dfe8 100644 --- a/engine/slc.h +++ b/engine/slc.h @@ -351,19 +351,18 @@ static inline slc_state slc_def_name_statechange( } else { *prefix_i = -1; } + } else { + if(c == ':') { + *prefix_i = 0; /* XXX: restarts scan */ + return SLC_WORD_NAME; + } } return current_state; } else { - /* Check if ended by ':' after full prefix or not */ - if(prevc == ':' && (*prefix_i > 0) && prefix[*prefix_i] == 0) { - /* Found: a word definition! */ - return SLC_WORD_NAME; - } else { - /* Not Found: Probably a word occurence */ - *prefix_i = 0; /* XXX: restarts scan */ - return current_state; - } + /* Not Found: Probably a word occurence */ + *prefix_i = 0; /* XXX: restarts scan */ + return current_state; } }