char *,		target)
CONST char *,	target)
PUBLIC BOOL HText_getFirstTargetInLine ARGS7(	HText *,	text,	int,		line_num,	BOOL,		utf_flag,	int *,		offset,	int *,		tLen,	char **,	data,	char *,		target){    HTLine *line;    char *LineData;    int LineOffset, HitOffset, LenNeeded, i;    char *cp;    /*     *  Make sure we have an HText structure, that line_num is     *  in its range, and that we have a target string. - FM     */    if (!(text && line_num >= 0 && line_num <= text->Lines &&	  target && *target))	return(FALSE);    /*     *  Find the line and set up its data and offset - FM     */    for (i = 0, line = text->last_line->next;	 i < line_num && (line != text->last_line);	 i++, line = line->next) {	if (line->next == NULL) {	    return(FALSE);	}    }    if (!line && line->data[0])	return(FALSE);    LineData = (char *)line->data;    LineOffset = (int)line->offset;    /*     *  If the target is on the line, load the offset of     *  its first character and the subsequent line data,     *  strip any special characters from the loaded line     *  data, and return TRUE. - FM     */    if ((case_sensitive ?	 (cp = LYno_attr_mbcs_strstr(LineData,				     target,				     utf_flag,				     &HitOffset,				     &LenNeeded)) != NULL :	 (cp = LYno_attr_mbcs_case_strstr(LineData,				     target,				     utf_flag,				     &HitOffset,				     &LenNeeded)) != NULL) &&	(LineOffset + LenNeeded) < LYcols) {	/*	 *  We had a hit so load the results,	 *  remove IsSpecial characters from	 *  the allocated data string, and	 *  return TRUE. - FM	 */	*offset = (LineOffset + HitOffset);	*tLen = (LenNeeded - HitOffset);	 StrAllocCopy(*data, cp);	 remove_special_attr_chars(*data);	 return(TRUE);    }    /*     *  The line does not contain the target. - FM     */    return(FALSE);}