*** empty log message ***
This commit is contained in:
		@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * $Id: extio.c,v 1.58 2006-10-27 13:49:43 bacon Exp $
 | 
					 * $Id: extio.c,v 1.59 2006-11-16 11:53:15 bacon Exp $
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <ase/awk/awk_i.h>
 | 
					#include <ase/awk/awk_i.h>
 | 
				
			||||||
@ -173,7 +173,7 @@ int ase_awk_readextio (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	/* get the record separator */
 | 
						/* get the record separator */
 | 
				
			||||||
	rs = ase_awk_getglobal (run, ASE_AWK_GLOBAL_RS);
 | 
						rs = ase_awk_getglobal (run, ASE_AWK_GLOBAL_RS);
 | 
				
			||||||
	ase_awk_refupval (rs);
 | 
						ase_awk_refupval (run, rs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (rs->type == ASE_AWK_VAL_NIL)
 | 
						if (rs->type == ASE_AWK_VAL_NIL)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@ -334,7 +334,7 @@ int ase_awk_readextio (
 | 
				
			|||||||
		ase_real_t rv;
 | 
							ase_real_t rv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		nr = ase_awk_getglobal (run, ASE_AWK_GLOBAL_NR);
 | 
							nr = ase_awk_getglobal (run, ASE_AWK_GLOBAL_NR);
 | 
				
			||||||
		ase_awk_refupval (nr);
 | 
							ase_awk_refupval (run, nr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		n = ase_awk_valtonum (run, nr, &lv, &rv);
 | 
							n = ase_awk_valtonum (run, nr, &lv, &rv);
 | 
				
			||||||
		ase_awk_refdownval (run, nr);
 | 
							ase_awk_refdownval (run, nr);
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * $Id: func.c,v 1.74 2006-11-14 14:54:17 bacon Exp $
 | 
					 * $Id: func.c,v 1.75 2006-11-16 11:53:16 bacon Exp $
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <ase/awk/awk_i.h>
 | 
					#include <ase/awk/awk_i.h>
 | 
				
			||||||
@ -645,7 +645,7 @@ static int __bfn_split (ase_awk_run_t* run)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	ase_awk_refdownval (run, *a1_ref);
 | 
						ase_awk_refdownval (run, *a1_ref);
 | 
				
			||||||
	*a1_ref = t1;
 | 
						*a1_ref = t1;
 | 
				
			||||||
	ase_awk_refupval (*a1_ref);
 | 
						ase_awk_refupval (run, *a1_ref);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	p = str; str_left = str_len; 
 | 
						p = str; str_left = str_len; 
 | 
				
			||||||
	sta = (ase_awk_getopt(run->awk) & ASE_AWK_STRINDEXONE)? 1: 0;
 | 
						sta = (ase_awk_getopt(run->awk) & ASE_AWK_STRINDEXONE)? 1: 0;
 | 
				
			||||||
@ -707,7 +707,7 @@ static int __bfn_split (ase_awk_run_t* run)
 | 
				
			|||||||
		 * handle the assignment-like situation.  anyway, it is 
 | 
							 * handle the assignment-like situation.  anyway, it is 
 | 
				
			||||||
		 * incremented in advance as if the assignment was successful.
 | 
							 * incremented in advance as if the assignment was successful.
 | 
				
			||||||
		 * it is decremented if the assignement fails. */
 | 
							 * it is decremented if the assignement fails. */
 | 
				
			||||||
		ase_awk_refupval (t2);
 | 
							ase_awk_refupval (run, t2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (ase_awk_map_putx (
 | 
							if (ase_awk_map_putx (
 | 
				
			||||||
			((ase_awk_val_map_t*)t1)->map, 
 | 
								((ase_awk_val_map_t*)t1)->map, 
 | 
				
			||||||
@ -1093,7 +1093,7 @@ static int __substitute (ase_awk_run_t* run, ase_long_t max_count)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			ase_awk_refdownval (run, *a2_ref);
 | 
								ase_awk_refdownval (run, *a2_ref);
 | 
				
			||||||
			*a2_ref = v;
 | 
								*a2_ref = v;
 | 
				
			||||||
			ase_awk_refupval (*a2_ref);
 | 
								ase_awk_refupval (run, *a2_ref);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1208,7 +1208,7 @@ static int __bfn_match (ase_awk_run_t* run)
 | 
				
			|||||||
		return -1;
 | 
							return -1;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ase_awk_refupval (a0);
 | 
						ase_awk_refupval (run, a0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	a1 = ase_awk_makeintval (run, 
 | 
						a1 = ase_awk_makeintval (run, 
 | 
				
			||||||
		((n == 0)? (ase_long_t)-1: (ase_long_t)mat_len));
 | 
							((n == 0)? (ase_long_t)-1: (ase_long_t)mat_len));
 | 
				
			||||||
@ -1219,7 +1219,7 @@ static int __bfn_match (ase_awk_run_t* run)
 | 
				
			|||||||
		return -1;
 | 
							return -1;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ase_awk_refupval (a1);
 | 
						ase_awk_refupval (run, a1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (ase_awk_setglobal (run, ASE_AWK_GLOBAL_RSTART, a0) == -1)
 | 
						if (ase_awk_setglobal (run, ASE_AWK_GLOBAL_RSTART, a0) == -1)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * $Id: rec.c,v 1.6 2006-10-26 09:27:15 bacon Exp $
 | 
					 * $Id: rec.c,v 1.7 2006-11-16 11:53:16 bacon Exp $
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <ase/awk/awk_i.h>
 | 
					#include <ase/awk/awk_i.h>
 | 
				
			||||||
@ -46,7 +46,7 @@ int ase_awk_setrec (
 | 
				
			|||||||
		/* d0 should be cleared before the next line is reached
 | 
							/* d0 should be cleared before the next line is reached
 | 
				
			||||||
		 * as it doesn't call ase_awk_refdownval on run->inrec.d0 */
 | 
							 * as it doesn't call ase_awk_refdownval on run->inrec.d0 */
 | 
				
			||||||
		run->inrec.d0 = v;
 | 
							run->inrec.d0 = v;
 | 
				
			||||||
		ase_awk_refupval (v);
 | 
							ase_awk_refupval (run, v);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (__split_record (run) == -1) 
 | 
							if (__split_record (run) == -1) 
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@ -79,7 +79,7 @@ int ase_awk_setrec (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		ase_awk_refdownval (run, run->inrec.d0);
 | 
							ase_awk_refdownval (run, run->inrec.d0);
 | 
				
			||||||
		run->inrec.d0 = v;
 | 
							run->inrec.d0 = v;
 | 
				
			||||||
		ase_awk_refupval (v);
 | 
							ase_awk_refupval (run, v);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
@ -217,7 +217,7 @@ static int __split_record (ase_awk_run_t* run)
 | 
				
			|||||||
			return -1;
 | 
								return -1;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		ase_awk_refupval (run->inrec.flds[run->inrec.nflds].val);
 | 
							ase_awk_refupval (run, run->inrec.flds[run->inrec.nflds].val);
 | 
				
			||||||
		run->inrec.nflds++;
 | 
							run->inrec.nflds++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		len = ASE_AWK_STR_LEN(&run->inrec.line) - 
 | 
							len = ASE_AWK_STR_LEN(&run->inrec.line) - 
 | 
				
			||||||
@ -379,7 +379,7 @@ static int __recomp_record_fields (
 | 
				
			|||||||
			else run->inrec.nflds++;
 | 
								else run->inrec.nflds++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			run->inrec.flds[i].val = tmp;
 | 
								run->inrec.flds[i].val = tmp;
 | 
				
			||||||
			ase_awk_refupval (tmp);
 | 
								ase_awk_refupval (run, tmp);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else if (i >= nflds)
 | 
							else if (i >= nflds)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@ -400,7 +400,7 @@ static int __recomp_record_fields (
 | 
				
			|||||||
			 * to any valid values */
 | 
								 * to any valid values */
 | 
				
			||||||
			/*ase_awk_refdownval (run, run->inrec.flds[i].val);*/
 | 
								/*ase_awk_refdownval (run, run->inrec.flds[i].val);*/
 | 
				
			||||||
			run->inrec.flds[i].val = ase_awk_val_zls;
 | 
								run->inrec.flds[i].val = ase_awk_val_zls;
 | 
				
			||||||
			ase_awk_refupval (ase_awk_val_zls);
 | 
								ase_awk_refupval (run, ase_awk_val_zls);
 | 
				
			||||||
			run->inrec.nflds++;
 | 
								run->inrec.nflds++;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										434
									
								
								ase/awk/run.c
									
									
									
									
									
								
							
							
						
						
									
										434
									
								
								ase/awk/run.c
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * $Id: val.c,v 1.85 2006-11-16 04:44:16 bacon Exp $
 | 
					 * $Id: val.c,v 1.86 2006-11-16 11:53:16 bacon Exp $
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <ase/awk/awk_i.h>
 | 
					#include <ase/awk/awk_i.h>
 | 
				
			||||||
@ -304,14 +304,16 @@ xp_printf (ASE_T("\n"));*/
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ase_awk_refupval (ase_awk_val_t* val)
 | 
					void ase_awk_refupval (ase_awk_run_t* run, ase_awk_val_t* val)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (ase_awk_isbuiltinval(val)) return;
 | 
						if (ase_awk_isbuiltinval(val)) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
xp_printf (ASE_T("ref up "));
 | 
					run->awk->syscas.dprintf (ASE_T("ref up [ptr=%p] [count=%d] "), val, (int)val->ref);
 | 
				
			||||||
ase_awk_dprintval (val);
 | 
					ase_awk_dprintval (run, val);
 | 
				
			||||||
xp_printf (ASE_T("\n"));
 | 
					run->awk->syscas.dprintf (ASE_T("\n"));
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	val->ref++;
 | 
						val->ref++;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -320,10 +322,9 @@ void ase_awk_refdownval (ase_awk_run_t* run, ase_awk_val_t* val)
 | 
				
			|||||||
	if (ase_awk_isbuiltinval(val)) return;
 | 
						if (ase_awk_isbuiltinval(val)) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
xp_printf (ASE_T("%p, %p, %p\n"), ase_awk_val_nil, &__awk_nil, val);
 | 
					run->awk->syscas.dprintf (ASE_T("ref down [ptr=%p] [count=%d]\n"), val, (int)val->ref);
 | 
				
			||||||
xp_printf (ASE_T("ref down [count=>%d]\n"), (int)val->ref);
 | 
					ase_awk_dprintval (run, val);
 | 
				
			||||||
ase_awk_dprintval (val);
 | 
					run->awk->syscas.dprintf (ASE_T("\n"));
 | 
				
			||||||
xp_printf (ASE_T("\n"));
 | 
					 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ASE_AWK_ASSERTX (run->awk, val->ref > 0, 
 | 
						ASE_AWK_ASSERTX (run->awk, val->ref > 0, 
 | 
				
			||||||
@ -572,7 +573,7 @@ static ase_char_t* __val_real_to_str (
 | 
				
			|||||||
	int opt, ase_awk_str_t* buf, ase_size_t* len)
 | 
						int opt, ase_awk_str_t* buf, ase_size_t* len)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
/* TODO: change the code */
 | 
					/* TODO: change the code */
 | 
				
			||||||
	ase_char_t tbuf[256], * tmp;
 | 
						ase_char_t* tmp;
 | 
				
			||||||
	ase_size_t tmp_len;
 | 
						ase_size_t tmp_len;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (opt & ASE_AWK_VALTOSTR_PRINT)
 | 
						if (opt & ASE_AWK_VALTOSTR_PRINT)
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * $Id: val.h,v 1.49 2006-10-28 05:24:08 bacon Exp $
 | 
					 * $Id: val.h,v 1.50 2006-11-16 11:53:16 bacon Exp $
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef _ASE_AWK_VAL_H_
 | 
					#ifndef _ASE_AWK_VAL_H_
 | 
				
			||||||
@ -160,7 +160,7 @@ ase_awk_val_t* ase_awk_makerefval (
 | 
				
			|||||||
ase_bool_t ase_awk_isbuiltinval (ase_awk_val_t* val);
 | 
					ase_bool_t ase_awk_isbuiltinval (ase_awk_val_t* val);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ase_awk_freeval (ase_awk_run_t* run, ase_awk_val_t* val, ase_bool_t cache);
 | 
					void ase_awk_freeval (ase_awk_run_t* run, ase_awk_val_t* val, ase_bool_t cache);
 | 
				
			||||||
void ase_awk_refupval (ase_awk_val_t* val);
 | 
					void ase_awk_refupval (ase_awk_run_t* run, ase_awk_val_t* val);
 | 
				
			||||||
void ase_awk_refdownval (ase_awk_run_t* run, ase_awk_val_t* val);
 | 
					void ase_awk_refdownval (ase_awk_run_t* run, ase_awk_val_t* val);
 | 
				
			||||||
void ase_awk_refdownval_nofree (ase_awk_run_t* run, ase_awk_val_t* val);
 | 
					void ase_awk_refdownval_nofree (ase_awk_run_t* run, ase_awk_val_t* val);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,7 @@
 | 
				
			|||||||
BEGIN  {
 | 
					BEGIN  {
 | 
				
			||||||
	CONVFMT="%s";
 | 
						CONVFMT="%s";
 | 
				
			||||||
	printf "%s", sprintf ("abc %s abc\n", sprintf ("def %s %s", sprintf ("xyz %s xyz", 1.2342), "def"));
 | 
						#CONVFMT="%*.*s";
 | 
				
			||||||
 | 
						#CONVFMT="%*.*f";
 | 
				
			||||||
 | 
						printf "%s", sprintf ("abc %s abc\n", sprintf ("def %s %s", sprintf ("%s %s %s", "xyz", 1.2342, "xyz"), "def"));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user