fixed files for an old compiler

This commit is contained in:
2014-11-18 16:10:12 +00:00
parent 284a0b18be
commit 28ad5392c8
31 changed files with 350 additions and 165 deletions

View File

@ -601,7 +601,7 @@ int qse_awk_fnc_split (qse_awk_rtx_t* rtx, const qse_awk_fnc_info_t* fi)
qse_awk_val_t* a0, * a1, * a2, * t1, * t2;
qse_awk_val_type_t a1_vtype, a2_vtype, t1_vtype;
qse_cstr_t str = { QSE_NULL, 0 };
qse_cstr_t str;
qse_cstr_t fs;
qse_char_t* fs_free = QSE_NULL;
const qse_char_t* p;
@ -615,6 +615,9 @@ int qse_awk_fnc_split (qse_awk_rtx_t* rtx, const qse_awk_fnc_info_t* fi)
qse_awk_errnum_t errnum;
int x;
str.ptr = QSE_NULL;
str.len = 0;
nargs = qse_awk_rtx_getnargs (rtx);
QSE_ASSERT (nargs >= 2 && nargs <= 3);
@ -881,7 +884,7 @@ static int __substitute (qse_awk_rtx_t* rtx, qse_awk_int_t max_count)
qse_awk_val_type_t a0_vtype;
qse_cstr_t s0, s2;
qse_cstr_t s1 = { QSE_NULL, 0 };
qse_cstr_t s1;
const qse_char_t* s2_end;
qse_char_t* s0_free = QSE_NULL;
@ -897,6 +900,9 @@ static int __substitute (qse_awk_rtx_t* rtx, qse_awk_int_t max_count)
qse_awk_int_t sub_count;
s1.ptr = QSE_NULL;
s1.len = 0;
nargs = qse_awk_rtx_getnargs (rtx);
QSE_ASSERT (nargs >= 2 && nargs <= 3);

View File

@ -1194,8 +1194,10 @@ static int matchtre (
qse_cstr_t submat[9], qse_awk_errnum_t* errnum)
{
int n;
qse_tre_match_t match[10] = { { 0, 0 }, };
/*qse_tre_match_t match[10] = { { 0, 0 }, };*/
qse_tre_match_t match[10];
QSE_MEMSET (match, 0, QSE_SIZEOF(match));
n = qse_tre_execx (tre, str->ptr, str->len, match, QSE_COUNTOF(match), opt);
if (n <= -1)
{

View File

@ -1016,8 +1016,12 @@ static int parse_progunit (qse_awk_t* awk)
if (MATCH(awk,TOK_NEWLINE) || MATCH(awk,TOK_SEMICOLON) || MATCH(awk,TOK_EOF))
{
/* blockless pattern */
int eof = MATCH(awk,TOK_EOF);
qse_awk_loc_t ploc = awk->ptok.loc;
int eof;
qse_awk_loc_t ploc;
eof = MATCH(awk,TOK_EOF);
ploc = awk->ptok.loc;
awk->parse.id.block = PARSE_ACTION_BLOCK;
if (parse_action_block (awk, ptn, 1) == QSE_NULL)
@ -1351,8 +1355,9 @@ static qse_awk_nde_t* parse_function (qse_awk_t* awk)
static qse_awk_nde_t* parse_begin (qse_awk_t* awk)
{
qse_awk_nde_t* nde;
qse_awk_loc_t xloc = awk->tok.loc;
qse_awk_loc_t xloc;
xloc = awk->tok.loc;
QSE_ASSERT (MATCH(awk,TOK_LBRACE));
if (get_token(awk) <= -1) return QSE_NULL;
@ -1376,8 +1381,9 @@ static qse_awk_nde_t* parse_begin (qse_awk_t* awk)
static qse_awk_nde_t* parse_end (qse_awk_t* awk)
{
qse_awk_nde_t* nde;
qse_awk_loc_t xloc = awk->tok.loc;
qse_awk_loc_t xloc;
xloc = awk->tok.loc;
QSE_ASSERT (MATCH(awk,TOK_LBRACE));
if (get_token(awk) <= -1) return QSE_NULL;
@ -1402,8 +1408,9 @@ static qse_awk_chain_t* parse_action_block (
{
qse_awk_nde_t* nde;
qse_awk_chain_t* chain;
qse_awk_loc_t xloc = awk->tok.loc;
qse_awk_loc_t xloc;
xloc = awk->tok.loc;
if (blockless) nde = QSE_NULL;
else
{
@ -1563,7 +1570,8 @@ static qse_awk_nde_t* parse_block (
{
/* parse an actual statement in a block */
{
qse_awk_loc_t sloc = awk->tok.loc;
qse_awk_loc_t sloc;
sloc = awk->tok.loc;
nde = parse_statement (awk, &sloc);
}
@ -2155,7 +2163,9 @@ static qse_awk_nde_t* parse_if (qse_awk_t* awk, const qse_awk_loc_t* xloc)
if (get_token(awk) <= -1) goto oops;
{
qse_awk_loc_t eloc = awk->tok.loc;
qse_awk_loc_t eloc;
eloc = awk->tok.loc;
else_part = parse_statement (awk, &eloc);
if (else_part == QSE_NULL) goto oops;
}
@ -2330,7 +2340,9 @@ static qse_awk_nde_t* parse_for (qse_awk_t* awk, const qse_awk_loc_t* xloc)
if (!MATCH(awk,TOK_RPAREN))
{
{
qse_awk_loc_t eloc = awk->tok.loc;
qse_awk_loc_t eloc;
eloc = awk->tok.loc;
incr = parse_expr_withdc (awk, &eloc);
if (incr == QSE_NULL) goto oops;
}
@ -2511,7 +2523,9 @@ static qse_awk_nde_t* parse_return (qse_awk_t* awk, const qse_awk_loc_t* xloc)
}
else
{
qse_awk_loc_t eloc = awk->tok.loc;
qse_awk_loc_t eloc;
eloc = awk->tok.loc;
val = parse_expr_withdc (awk, &eloc);
if (val == QSE_NULL)
{
@ -2549,7 +2563,9 @@ static qse_awk_nde_t* parse_exit (qse_awk_t* awk, const qse_awk_loc_t* xloc)
}
else
{
qse_awk_loc_t eloc = awk->tok.loc;
qse_awk_loc_t eloc;
eloc = awk->tok.loc;
val = parse_expr_withdc (awk, &eloc);
if (val == QSE_NULL)
{
@ -2812,7 +2828,7 @@ static qse_awk_nde_t* parse_print (qse_awk_t* awk, const qse_awk_loc_t* xloc)
{
int i;
qse_awk_nde_exp_t* ep = (qse_awk_nde_exp_t*)args_tail;
struct
static struct
{
int opc;
int out;
@ -2847,8 +2863,7 @@ static qse_awk_nde_t* parse_print (qse_awk_t* awk, const qse_awk_loc_t* xloc)
{
qse_awk_nde_t* tmp;
if (tab[i].opt &&
!(awk->opt.trait&tab[i].opt)) break;
if (tab[i].opt && !(awk->opt.trait & tab[i].opt)) break;
tmp = args_tail;
@ -3073,7 +3088,9 @@ static qse_awk_nde_t* parse_statement (
else if (MATCH(awk,TOK_LBRACE))
{
/* a block statemnt { ... } */
qse_awk_loc_t tloc = awk->ptok.loc;
qse_awk_loc_t tloc;
tloc = awk->ptok.loc;
if (get_token(awk) <= -1) return QSE_NULL;
nde = parse_block_dc (awk, &tloc, 0);
}
@ -3085,8 +3102,11 @@ static qse_awk_nde_t* parse_statement (
* statement id can be changed in parse_statement_nb.
* it will, in turn, call parse_statement which will
* eventually change the statement id. */
int old_id = awk->parse.id.stmt;
qse_awk_loc_t tloc = awk->tok.loc;
int old_id;
qse_awk_loc_t tloc;
old_id = awk->parse.id.stmt;
tloc = awk->tok.loc;
/* set the current statement id */
awk->parse.id.stmt = awk->tok.type;
@ -3238,7 +3258,9 @@ static qse_awk_nde_t* parse_expr (
}
{
qse_awk_loc_t eloc = awk->tok.loc;
qse_awk_loc_t eloc;
eloc = awk->tok.loc;
y = parse_expr_withdc (awk, &eloc);
}
if (y == QSE_NULL)
@ -5215,7 +5237,9 @@ static qse_awk_nde_t* parse_hashidx (
}
{
qse_awk_loc_t eloc = awk->tok.loc;
qse_awk_loc_t eloc;
eloc = awk->tok.loc;
tmp = parse_expr_withdc (awk, &eloc);
}
if (tmp == QSE_NULL)
@ -6709,24 +6733,16 @@ static qse_awk_mod_t* query_module (
qse_awk_mod_spec_t spec;
qse_size_t buflen;
/*qse_char_t buf[64 + 15] = QSE_T("_qse_awk_mod_");*/
qse_char_t buf[64 + 15] =
{
QSE_T('_'),
QSE_T('q'),
QSE_T('s'),
QSE_T('e'),
QSE_T('_'),
QSE_T('a'),
QSE_T('w'),
QSE_T('k'),
QSE_T('_'),
QSE_T('m'),
QSE_T('o'),
QSE_T('d'),
QSE_T('_')
/* the terminating null isn't needed */
};
/* maximum module name length is 64. 15 is decomposed to 13 + 1 + 1.
* 13 for _qse_awk_mod_t
* 1 for _ at the end when qse_awk_mod_xxx_ is attempted.
* 1 for the terminating '\0'
*/
qse_char_t buf[64 + 15];
/* the terminating null isn't needed in buf here */
QSE_MEMCPY (buf, QSE_T("_qse_awk_mod_"), QSE_SIZEOF(qse_char_t) * 13);
if (segs[0].len > QSE_COUNTOF(buf) - 15)
{
/* module name too long */

View File

@ -1262,36 +1262,34 @@ static int defaultify_globals (qse_awk_rtx_t* rtx)
struct gtab_t
{
int idx;
const qse_char_t* str;
} gtab[] =
const qse_char_t* str[2];
};
static struct gtab_t gtab[7] =
{
{ QSE_AWK_GBL_CONVFMT, DEFAULT_CONVFMT },
{ QSE_AWK_GBL_FILENAME, QSE_NULL },
{ QSE_AWK_GBL_OFILENAME, QSE_NULL },
{ QSE_AWK_GBL_OFMT, DEFAULT_OFMT },
{ QSE_AWK_GBL_OFS, DEFAULT_OFS },
{ QSE_AWK_GBL_ORS, DEFAULT_ORS },
{ QSE_AWK_GBL_SUBSEP, DEFAULT_SUBSEP },
{ QSE_AWK_GBL_CONVFMT, { DEFAULT_CONVFMT, DEFAULT_CONVFMT } },
{ QSE_AWK_GBL_FILENAME, { QSE_NULL, QSE_NULL } },
{ QSE_AWK_GBL_OFILENAME, { QSE_NULL, QSE_NULL } },
{ QSE_AWK_GBL_OFMT, { DEFAULT_OFMT, DEFAULT_OFMT } },
{ QSE_AWK_GBL_OFS, { DEFAULT_OFS, DEFAULT_OFS } },
{ QSE_AWK_GBL_ORS, { DEFAULT_ORS, DEFAULT_ORS_CRLF } },
{ QSE_AWK_GBL_SUBSEP, { DEFAULT_SUBSEP, DEFAULT_SUBSEP } },
};
qse_awk_val_t* tmp;
qse_size_t i, j;
int stridx;
if (rtx->awk->opt.trait & QSE_AWK_CRLF)
{
/* ugly */
gtab[5].str = DEFAULT_ORS_CRLF;
}
stridx = (rtx->awk->opt.trait & QSE_AWK_CRLF)? 1: 0;
for (i = 0; i < QSE_COUNTOF(gtab); i++)
{
if (gtab[i].str == QSE_NULL || gtab[i].str[0] == QSE_T('\0'))
if (gtab[i].str[stridx] == QSE_NULL || gtab[i].str[stridx][0] == QSE_T('\0'))
{
tmp = qse_awk_val_zls;
}
else
{
tmp = qse_awk_rtx_makestrvalwithstr (rtx, gtab[i].str);
tmp = qse_awk_rtx_makestrvalwithstr (rtx, gtab[i].str[stridx]);
if (tmp == QSE_NULL) return -1;
}
@ -1303,8 +1301,7 @@ static int defaultify_globals (qse_awk_rtx_t* rtx)
{
for (j = 0; j < i; j++)
{
qse_awk_rtx_setgbl (
rtx, gtab[i].idx, qse_awk_val_nil);
qse_awk_rtx_setgbl (rtx, gtab[i].idx, qse_awk_val_nil);
}
qse_awk_rtx_refdownval (rtx, tmp);