*** empty log message ***
This commit is contained in:
		@ -1,5 +1,5 @@
 | 
			
		||||
/* 
 | 
			
		||||
 * $Id: awk.c,v 1.45 2006-04-22 13:54:52 bacon Exp $ 
 | 
			
		||||
 * $Id: awk.c,v 1.46 2006-04-24 14:38:46 bacon Exp $ 
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <xp/awk/awk_i.h>
 | 
			
		||||
@ -113,17 +113,22 @@ void xp_awk_clear (xp_awk_t* awk)
 | 
			
		||||
	awk->tree.nglobals = 0;	
 | 
			
		||||
	xp_awk_map_clear (&awk->tree.funcs);
 | 
			
		||||
 | 
			
		||||
	if (awk->tree.begin != XP_NULL) {
 | 
			
		||||
	if (awk->tree.begin != XP_NULL) 
 | 
			
		||||
	{
 | 
			
		||||
		xp_assert (awk->tree.begin->next == XP_NULL);
 | 
			
		||||
		xp_awk_clrpt (awk->tree.begin);
 | 
			
		||||
		awk->tree.begin = XP_NULL;
 | 
			
		||||
	}
 | 
			
		||||
	if (awk->tree.end != XP_NULL) {
 | 
			
		||||
 | 
			
		||||
	if (awk->tree.end != XP_NULL) 
 | 
			
		||||
	{
 | 
			
		||||
		xp_assert (awk->tree.end->next == XP_NULL);
 | 
			
		||||
		xp_awk_clrpt (awk->tree.end);
 | 
			
		||||
		awk->tree.end = XP_NULL;
 | 
			
		||||
	}
 | 
			
		||||
	while (awk->tree.chain != XP_NULL) {
 | 
			
		||||
 | 
			
		||||
	while (awk->tree.chain != XP_NULL) 
 | 
			
		||||
	{
 | 
			
		||||
		xp_awk_chain_t* next = awk->tree.chain->next;
 | 
			
		||||
		if (awk->tree.chain->pattern != XP_NULL)
 | 
			
		||||
			xp_awk_clrpt (awk->tree.chain->pattern);
 | 
			
		||||
@ -150,7 +155,8 @@ int xp_awk_attsrc (xp_awk_t* awk, xp_awk_io_t src, void* arg)
 | 
			
		||||
	if (xp_awk_detsrc(awk) == -1) return -1;
 | 
			
		||||
 | 
			
		||||
	xp_assert (awk->srcio == XP_NULL);
 | 
			
		||||
	if (src(XP_AWK_INPUT_OPEN, arg, XP_NULL, 0) == -1) {
 | 
			
		||||
	if (src(XP_AWK_INPUT_OPEN, arg, XP_NULL, 0) == -1) 
 | 
			
		||||
	{
 | 
			
		||||
		awk->errnum = XP_AWK_ESRCINOPEN;
 | 
			
		||||
		return -1;
 | 
			
		||||
	}
 | 
			
		||||
@ -164,7 +170,8 @@ int xp_awk_attsrc (xp_awk_t* awk, xp_awk_io_t src, void* arg)
 | 
			
		||||
 | 
			
		||||
int xp_awk_detsrc (xp_awk_t* awk)
 | 
			
		||||
{
 | 
			
		||||
	if (awk->srcio != XP_NULL) {
 | 
			
		||||
	if (awk->srcio != XP_NULL) 
 | 
			
		||||
	{
 | 
			
		||||
		xp_ssize_t n;
 | 
			
		||||
 | 
			
		||||
		n = awk->srcio (XP_AWK_INPUT_CLOSE, awk->srcio_arg, XP_NULL, 0);
 | 
			
		||||
@ -185,10 +192,11 @@ int xp_awk_detsrc (xp_awk_t* awk)
 | 
			
		||||
 | 
			
		||||
static void __free_func (void* owner, void* func)
 | 
			
		||||
{
 | 
			
		||||
	xp_awk_func_t* f = (xp_awk_func_t*) func;
 | 
			
		||||
	xp_awk_func_t* f = (xp_awk_func_t*)func;
 | 
			
		||||
 | 
			
		||||
	/* f->name doesn't have to be freed */
 | 
			
		||||
	/*xp_free (f->name);*/
 | 
			
		||||
 | 
			
		||||
	xp_awk_clrpt (f->body);
 | 
			
		||||
	xp_free (f);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * $Id: run.c,v 1.71 2006-04-24 11:26:00 bacon Exp $
 | 
			
		||||
 * $Id: run.c,v 1.72 2006-04-24 14:38:46 bacon Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <xp/awk/awk_i.h>
 | 
			
		||||
@ -177,9 +177,9 @@ int xp_awk_run (xp_awk_t* awk, xp_awk_io_t txtio, void* txtio_arg)
 | 
			
		||||
	return n;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void __free_namedval (xp_awk_run_t* run, void* val)
 | 
			
		||||
static void __free_namedval (void* run, void* val)
 | 
			
		||||
{
 | 
			
		||||
	xp_awk_refdownval (run, val);
 | 
			
		||||
	xp_awk_refdownval ((xp_awk_run_t*)run, val);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int __open_run (
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * $Id: tree.c,v 1.40 2006-04-24 11:22:42 bacon Exp $
 | 
			
		||||
 * $Id: tree.c,v 1.41 2006-04-24 14:38:46 bacon Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <xp/awk/awk_i.h>
 | 
			
		||||
@ -79,7 +79,8 @@ static void __print_tabs (int depth)
 | 
			
		||||
 | 
			
		||||
static int __print_expression (xp_awk_nde_t* nde)
 | 
			
		||||
{
 | 
			
		||||
	switch (nde->type) {
 | 
			
		||||
	switch (nde->type) 
 | 
			
		||||
	{
 | 
			
		||||
	case XP_AWK_NDE_ASS:
 | 
			
		||||
		if (__print_expression (((xp_awk_nde_ass_t*)nde)->left) == -1) return -1;
 | 
			
		||||
		xp_printf (XP_TEXT(" %s "), 
 | 
			
		||||
@ -311,11 +312,13 @@ static void __print_statements (xp_awk_nde_t* tree, int depth)
 | 
			
		||||
			__print_tabs (depth);
 | 
			
		||||
			xp_printf (XP_TEXT("{\n"));
 | 
			
		||||
 | 
			
		||||
			if (((xp_awk_nde_blk_t*)p)->nlocals > 0) {
 | 
			
		||||
			if (((xp_awk_nde_blk_t*)p)->nlocals > 0) 
 | 
			
		||||
			{
 | 
			
		||||
				__print_tabs (depth + 1);
 | 
			
		||||
				xp_printf (XP_TEXT("local "));
 | 
			
		||||
 | 
			
		||||
				for (i = 0; i < ((xp_awk_nde_blk_t*)p)->nlocals - 1; i++) {
 | 
			
		||||
				for (i = 0; i < ((xp_awk_nde_blk_t*)p)->nlocals - 1; i++) 
 | 
			
		||||
				{
 | 
			
		||||
					xp_printf (XP_TEXT("__local%lu, "), (unsigned long)i);
 | 
			
		||||
				}
 | 
			
		||||
				xp_printf (XP_TEXT("__local%lu;\n"), (unsigned long)i);
 | 
			
		||||
@ -430,7 +433,8 @@ static void __print_statements (xp_awk_nde_t* tree, int depth)
 | 
			
		||||
			{
 | 
			
		||||
				xp_printf (XP_TEXT("return "));
 | 
			
		||||
				xp_assert (((xp_awk_nde_return_t*)p)->val->next == XP_NULL);
 | 
			
		||||
				if (__print_expression(((xp_awk_nde_return_t*)p)->val) == 0) {
 | 
			
		||||
				if (__print_expression(((xp_awk_nde_return_t*)p)->val) == 0) 
 | 
			
		||||
				{
 | 
			
		||||
					xp_printf (XP_TEXT(";\n"));
 | 
			
		||||
				}
 | 
			
		||||
				else 
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * $Id: val.c,v 1.26 2006-04-24 11:22:42 bacon Exp $
 | 
			
		||||
 * $Id: val.c,v 1.27 2006-04-24 14:38:46 bacon Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <xp/awk/awk_i.h>
 | 
			
		||||
@ -45,7 +45,7 @@ xp_awk_val_t* xp_awk_makeintval (xp_awk_run_t* run, xp_long_t v)
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
		val = (xp_awk_val_int_t*)
 | 
			
		||||
			xp_malloc(xp_sizeof(xp_awk_val_int_t));
 | 
			
		||||
			xp_malloc (xp_sizeof(xp_awk_val_int_t));
 | 
			
		||||
		if (val == XP_NULL) return XP_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -82,7 +82,7 @@ xp_awk_val_t* xp_awk_makestrval (const xp_char_t* str, xp_size_t len)
 | 
			
		||||
{
 | 
			
		||||
	xp_awk_val_str_t* val;
 | 
			
		||||
 | 
			
		||||
	val = (xp_awk_val_str_t*)xp_malloc(xp_sizeof(xp_awk_val_str_t));
 | 
			
		||||
	val = (xp_awk_val_str_t*) xp_malloc (xp_sizeof(xp_awk_val_str_t));
 | 
			
		||||
	if (val == XP_NULL) return XP_NULL;
 | 
			
		||||
 | 
			
		||||
	val->type = XP_AWK_VAL_STR;
 | 
			
		||||
@ -104,7 +104,7 @@ xp_awk_val_t* xp_awk_makestrval2 (
 | 
			
		||||
{
 | 
			
		||||
	xp_awk_val_str_t* val;
 | 
			
		||||
 | 
			
		||||
	val = (xp_awk_val_str_t*)xp_malloc(xp_sizeof(xp_awk_val_str_t));
 | 
			
		||||
	val = (xp_awk_val_str_t*) xp_malloc (xp_sizeof(xp_awk_val_str_t));
 | 
			
		||||
	if (val == XP_NULL) return XP_NULL;
 | 
			
		||||
 | 
			
		||||
	val->type = XP_AWK_VAL_STR;
 | 
			
		||||
@ -124,8 +124,8 @@ xp_awk_val_t* xp_awk_makerexval (const xp_char_t* str, xp_size_t len)
 | 
			
		||||
{
 | 
			
		||||
	xp_awk_val_rex_t* val;
 | 
			
		||||
 | 
			
		||||
/* TDOO: XXXXXXXXXXXXxxx */
 | 
			
		||||
	val = (xp_awk_val_rex_t*)xp_malloc(xp_sizeof(xp_awk_val_rex_t));
 | 
			
		||||
/* TDOO: XXXXXXXXXXXXXX */
 | 
			
		||||
	val = (xp_awk_val_rex_t*) xp_malloc (xp_sizeof(xp_awk_val_rex_t));
 | 
			
		||||
	if (val == XP_NULL) return XP_NULL;
 | 
			
		||||
 | 
			
		||||
	val->type = XP_AWK_VAL_STR;
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user