*** empty log message ***
This commit is contained in:
		@ -1,5 +1,5 @@
 | 
			
		||||
/* 
 | 
			
		||||
 * $Id: awk.h,v 1.187 2007-02-03 10:47:40 bacon Exp $
 | 
			
		||||
 * $Id: awk.h,v 1.188 2007-02-11 04:44:39 bacon Exp $
 | 
			
		||||
 *
 | 
			
		||||
 * {License}
 | 
			
		||||
 */
 | 
			
		||||
@ -337,6 +337,7 @@ enum
 | 
			
		||||
	ASE_AWK_EREXRPAREN,       /* a right parenthesis is expected */
 | 
			
		||||
	ASE_AWK_EREXRBRACKET,     /* a right bracket is expected */
 | 
			
		||||
	ASE_AWK_EREXRBRACE,       /* a right brace is expected */
 | 
			
		||||
	ASE_AWK_EREXUNBALPAR,     /* unbalanced parenthesis */
 | 
			
		||||
	ASE_AWK_EREXCOLON,        /* a colon is expected */
 | 
			
		||||
	ASE_AWK_EREXCRANGE,       /* invalid character range */
 | 
			
		||||
	ASE_AWK_EREXCCLASS,       /* invalid character class */
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * $Id: err.c,v 1.72 2007-02-03 10:47:40 bacon Exp $
 | 
			
		||||
 * $Id: err.c,v 1.73 2007-02-11 04:44:39 bacon Exp $
 | 
			
		||||
 *
 | 
			
		||||
 * {License}
 | 
			
		||||
 */
 | 
			
		||||
@ -183,6 +183,7 @@ const ase_char_t* ase_awk_geterrstr (int errnum)
 | 
			
		||||
		ASE_T("a right parenthesis expected in the regular expression"),
 | 
			
		||||
		ASE_T("a right bracket expected in the regular expression"),
 | 
			
		||||
		ASE_T("a right brace expected in the regular expression"),
 | 
			
		||||
		ASE_T("unbalanced parenthesis"),
 | 
			
		||||
		ASE_T("a colon expected in the regular expression"),
 | 
			
		||||
		ASE_T("invalid character range in the regular expression"),
 | 
			
		||||
		ASE_T("invalid character class in the regular expression"),
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * $Id: rex.c,v 1.59 2007-02-04 07:56:37 bacon Exp $
 | 
			
		||||
 * $Id: rex.c,v 1.60 2007-02-11 04:44:39 bacon Exp $
 | 
			
		||||
 *
 | 
			
		||||
 * {License}
 | 
			
		||||
 */
 | 
			
		||||
@ -304,7 +304,19 @@ void* ase_awk_buildrex (
 | 
			
		||||
 | 
			
		||||
	if (builder.ptn.curc.type != CT_EOF)
 | 
			
		||||
	{
 | 
			
		||||
		if (errnum != ASE_NULL) *errnum = ASE_AWK_EREXGARBAGE;
 | 
			
		||||
		if (errnum != ASE_NULL) 
 | 
			
		||||
		{
 | 
			
		||||
			if (builder.ptn.curc.type ==  CT_SPECIAL &&
 | 
			
		||||
			    builder.ptn.curc.value == ASE_T(')'))
 | 
			
		||||
			{
 | 
			
		||||
				*errnum = ASE_AWK_EREXUNBALPAR;
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
				*errnum = ASE_AWK_EREXGARBAGE;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		ASE_AWK_FREE (builder.awk, builder.code.buf);
 | 
			
		||||
		return ASE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
@ -466,12 +478,10 @@ static int __build_pattern0 (__builder_t* builder)
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/*CODEAT(builder,pos_nb,ase_size_t) += 1;*/
 | 
			
		||||
		SET_CODE (builder, pos_nb, ase_size_t, 
 | 
			
		||||
			GET_CODE (builder, pos_nb, ase_size_t) + 1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/*CODEAT(builder,pos_el,ase_size_t) = builder->code.size - old_size;*/
 | 
			
		||||
	SET_CODE (builder, pos_el, ase_size_t, builder->code.size - old_size);
 | 
			
		||||
	return 1;
 | 
			
		||||
}
 | 
			
		||||
@ -515,12 +525,10 @@ static int __build_branch (__builder_t* builder)
 | 
			
		||||
		/* n == 0  no bound character. just continue */
 | 
			
		||||
		/* n == 1  bound has been applied by build_occurrences */
 | 
			
		||||
 | 
			
		||||
		/*CODEAT(builder,pos_na,ase_size_t) += 1;*/
 | 
			
		||||
		SET_CODE (builder, pos_na, ase_size_t,
 | 
			
		||||
			GET_CODE (builder, pos_na, ase_size_t) + 1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/*CODEAT(builder,pos_bl,ase_size_t) = builder->code.size - old_size;*/
 | 
			
		||||
	SET_CODE (builder, pos_bl, ase_size_t, builder->code.size - old_size);
 | 
			
		||||
	return (builder->code.size == old_size)? 0: 1;
 | 
			
		||||
}
 | 
			
		||||
@ -582,7 +590,8 @@ static int __build_atom (__builder_t* builder)
 | 
			
		||||
		{
 | 
			
		||||
			struct __code_t* cmd;
 | 
			
		||||
 | 
			
		||||
			cmd = (struct __code_t*)&builder->code.buf[builder->code.size];
 | 
			
		||||
			cmd = (struct __code_t*)
 | 
			
		||||
				&builder->code.buf[builder->code.size];
 | 
			
		||||
 | 
			
		||||
			tmp.cmd = CMD_CHARSET;
 | 
			
		||||
			tmp.negate = 0;
 | 
			
		||||
@ -612,7 +621,8 @@ static int __build_atom (__builder_t* builder)
 | 
			
		||||
	}
 | 
			
		||||
	else 
 | 
			
		||||
	{
 | 
			
		||||
		ASE_AWK_ASSERT (builder->awk, builder->ptn.curc.type == CT_NORMAL);
 | 
			
		||||
		ASE_AWK_ASSERT (builder->awk, 
 | 
			
		||||
			builder->ptn.curc.type == CT_NORMAL);
 | 
			
		||||
 | 
			
		||||
		tmp.cmd = CMD_ORD_CHAR;
 | 
			
		||||
		tmp.negate = 0;
 | 
			
		||||
@ -620,7 +630,9 @@ static int __build_atom (__builder_t* builder)
 | 
			
		||||
		tmp.ubound = 1;
 | 
			
		||||
		ADD_CODE (builder, &tmp, ASE_SIZEOF(tmp));
 | 
			
		||||
 | 
			
		||||
		ADD_CODE (builder, &builder->ptn.curc.value, ASE_SIZEOF(builder->ptn.curc.value));
 | 
			
		||||
		ADD_CODE (builder, 
 | 
			
		||||
			&builder->ptn.curc.value, 
 | 
			
		||||
			ASE_SIZEOF(builder->ptn.curc.value));
 | 
			
		||||
		NEXT_CHAR (builder, LEVEL_TOP);
 | 
			
		||||
 | 
			
		||||
		return 1;
 | 
			
		||||
@ -729,7 +741,6 @@ static int __build_charset (__builder_t* builder, struct __code_t* cmd)
 | 
			
		||||
			GET_CODE (builder, pos_csc, ase_size_t) + 1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/*CODEAT(builder,pos_csl,ase_size_t) = builder->code.size - old_size;*/
 | 
			
		||||
	SET_CODE (builder, pos_csl, ase_size_t, builder->code.size - old_size);
 | 
			
		||||
 | 
			
		||||
	return 1;
 | 
			
		||||
@ -1257,8 +1268,7 @@ static const ase_byte_t* __match_ord_char (
 | 
			
		||||
	if (matcher->ignorecase) cc = ASE_AWK_TOUPPER(matcher->awk, cc);
 | 
			
		||||
 | 
			
		||||
	/* merge the same consecutive codes 
 | 
			
		||||
	 * for example, a{1,10}a{0,10} is shortened to a{1,20} 
 | 
			
		||||
	 */
 | 
			
		||||
	 * for example, a{1,10}a{0,10} is shortened to a{1,20} */
 | 
			
		||||
	if (matcher->ignorecase) 
 | 
			
		||||
	{
 | 
			
		||||
		while (p < mat->branch_end &&
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user