- parsed as such. Note - in a HORRIBLE HACK, we make use of the
- knowledge that this marco is only ever evaluated in one place
- (read_a_source_file in read.c) where we can access the local
- variable 's' - the start of the symbol that was terminated by
- 'character'. Also we need to be able to change the contents of
- the local variable 'c' which is passed to this macro as 'character'. */
-#define TC_START_LABEL(character, i_l_p) \
- ((character) != ':' ? 0 : (character = fr30_is_colon_insn (s)) ? 0 : ((character = ':'), 1))
-extern char fr30_is_colon_insn (char *);
+ parsed as such. We need to be able to change the contents of the
+ var storing what was at the NUL delimiter. */
+#define TC_START_LABEL(STR, NUL_CHAR, NEXT_CHAR) \
+ (NEXT_CHAR == ':' && !fr30_is_colon_insn (STR, &NUL_CHAR))
+extern int fr30_is_colon_insn (char *, char *);