From 1f29eb2521a85bc8683b42c130e92841b34adb86 Mon Sep 17 00:00:00 2001 From: hyung-hwan Date: Wed, 26 Aug 2009 07:07:54 +0000 Subject: [PATCH] touched up sed a little --- qse/include/qse/sed/sed.h | 12 +++- qse/lib/sed/sed.c | 133 ++++++++++++++++++-------------------- qse/lib/sed/sed.h | 6 +- qse/samples/awk/awk05.cpp | 5 +- qse/samples/awk/awk06.cpp | 5 +- qse/samples/awk/awk07.cpp | 5 +- 6 files changed, 85 insertions(+), 81 deletions(-) diff --git a/qse/include/qse/sed/sed.h b/qse/include/qse/sed/sed.h index 72b81387..3fb83dcd 100644 --- a/qse/include/qse/sed/sed.h +++ b/qse/include/qse/sed/sed.h @@ -1,5 +1,5 @@ /* - * $Id: sed.h 257 2009-08-17 12:10:30Z hyunghwan.chung $ + * $Id: sed.h 268 2009-08-25 13:07:54Z hyunghwan.chung $ * Copyright 2006-2009 Chung, Hyung-Hwan. @@ -58,6 +58,16 @@ */ typedef struct qse_sed_t qse_sed_t; +/** + * The qse_sed_loc_t defines a structure to store location information. + */ +typedef struct qse_sed_loc_t qse_sed_loc_t; +struct qse_sed_loc_t +{ + qse_size_t lin; /**< line */ + qse_size_t col; /**< column */ +}; + /** * the qse_sed_errnum_t type defines error numbers. */ diff --git a/qse/lib/sed/sed.c b/qse/lib/sed/sed.c index 1d7dbddc..8f3f3041 100644 --- a/qse/lib/sed/sed.c +++ b/qse/lib/sed/sed.c @@ -1,5 +1,5 @@ /* - * $Id: sed.c 257 2009-08-17 12:10:30Z hyunghwan.chung $ + * $Id: sed.c 268 2009-08-25 13:07:54Z hyunghwan.chung $ * Copyright 2006-2009 Chung, Hyung-Hwan. @@ -199,15 +199,21 @@ void qse_sed_setmaxdepth (qse_sed_t* sed, int ids, qse_size_t depth) c == QSE_T('-') || c == QSE_T('_')) #define CURSC(sed) ((sed)->src.cc) -#define NXTSC(sed) getnextsc(sed) +#define NXTSC(sed) getnextsc(sed) static qse_cint_t getnextsc (qse_sed_t* sed) { if (++sed->src.cur < sed->src.end) { + if (sed->src.cc == QSE_T('\n')) + { + sed->src.loc.lin++; + sed->src.loc.col = 1; + } + else sed->src.loc.col++; sed->src.cc = *(sed)->src.cur; /* TODO: support different line end convension */ - if (sed->src.cc == QSE_T('\n')) sed->src.lnum++; + /*if (sed->src.cc == QSE_T('\n')) sed->src.loc.lin++;*/ } else sed->src.cc = QSE_CHAR_EOF; @@ -329,10 +335,9 @@ static void* compile_rex (qse_sed_t* sed, qse_char_t rxend) c = NXTSC (sed); if (c == QSE_CHAR_EOF || c == QSE_T('\n')) { - qse_size_t lnum = sed->src.lnum; - if (c == QSE_T('\n')) lnum--; SETERR1 ( - sed, QSE_SED_EREXIC, lnum, + sed, QSE_SED_EREXIC, + sed->src.loc.lin, QSE_STR_PTR(&sed->tmp.rex), QSE_STR_LEN(&sed->tmp.rex) ); @@ -346,10 +351,9 @@ static void* compile_rex (qse_sed_t* sed, qse_char_t rxend) c = NXTSC (sed); if (c == QSE_CHAR_EOF || c == QSE_T('\n')) { - qse_size_t lnum = sed->src.lnum; - if (c == QSE_T('\n')) lnum--; SETERR1 ( - sed, QSE_SED_EREXIC, lnum, + sed, QSE_SED_EREXIC, + sed->src.loc.lin, QSE_STR_PTR(&sed->tmp.rex), QSE_STR_LEN(&sed->tmp.rex) ); @@ -378,7 +382,7 @@ static void* compile_rex (qse_sed_t* sed, qse_char_t rxend) if (code == QSE_NULL) { SETERR1 ( - sed, QSE_SED_EREXBL, sed->src.lnum, + sed, QSE_SED_EREXBL, sed->src.loc.lin, QSE_STR_PTR(&sed->tmp.rex), QSE_STR_LEN(&sed->tmp.rex) ); @@ -426,9 +430,8 @@ static qse_sed_adr_t* get_address (qse_sed_t* sed, qse_sed_adr_t* a) c = NXTSC (sed); if (c == QSE_CHAR_EOF || c == QSE_T('\n')) { - qse_size_t lnum = sed->src.lnum; - if (c == QSE_T('\n')) lnum--; - SETERR1 (sed, QSE_SED_EREXIC, lnum, QSE_T(""), 0); + SETERR1 (sed, QSE_SED_EREXIC, + sed->src.loc.lin, QSE_T(""), 0); return QSE_NULL; } @@ -539,7 +542,7 @@ static int get_label (qse_sed_t* sed, qse_sed_cmd_t* cmd) if (!IS_LABC(c)) { /* label name is empty */ - SETERR0 (sed, QSE_SED_ELABEM, sed->src.lnum); + SETERR0 (sed, QSE_SED_ELABEM, sed->src.loc.lin); return -1; } @@ -561,7 +564,7 @@ static int get_label (qse_sed_t* sed, qse_sed_cmd_t* cmd) QSE_STR_PTR(&sed->tmp.lab), QSE_STR_LEN(&sed->tmp.lab)) != QSE_NULL) { - SETERR1 (sed, QSE_SED_ELABDU, sed->src.lnum, + SETERR1 (sed, QSE_SED_ELABDU, sed->src.loc.lin, QSE_STR_PTR(&sed->tmp.lab), QSE_STR_LEN(&sed->tmp.lab)); return -1; } @@ -595,7 +598,7 @@ static int terminate_command (qse_sed_t* sed) while (IS_SPACE(c)) c = NXTSC (sed); if (!IS_CMDTERM(c)) { - SETERR0 (sed, QSE_SED_ESCEXP, sed->src.lnum); + SETERR0 (sed, QSE_SED_ESCEXP, sed->src.loc.lin); return -1; } @@ -685,10 +688,7 @@ static int get_file (qse_sed_t* sed, qse_xstr_t* xstr) if (IS_CMDTERM(c)) { - SETERR0 ( - sed, QSE_SED_EFILEM, - (IS_LINTERM(c)? sed->src.lnum-1: sed->src.lnum) - ); + SETERR0 (sed, QSE_SED_EFILEM, sed->src.loc.lin); goto oops; } @@ -704,7 +704,7 @@ static int get_file (qse_sed_t* sed, qse_xstr_t* xstr) if (c == QSE_T('\0')) { /* the file name should not contain '\0' */ - SETERR0 (sed, QSE_SED_EFILIL, sed->src.lnum); + SETERR0 (sed, QSE_SED_EFILIL, sed->src.loc.lin); goto oops; } @@ -714,14 +714,9 @@ static int get_file (qse_sed_t* sed, qse_xstr_t* xstr) if (c == QSE_T('\\')) { c = NXTSC (sed); - if (c == QSE_T('\0') || c == QSE_CHAR_EOF) + if (c == QSE_T('\0') || c == QSE_CHAR_EOF || IS_LINTERM(c)) { - SETERR0 (sed, QSE_SED_EFILIL, sed->src.lnum); - goto oops; - } - if (IS_LINTERM(c)) - { - SETERR0 (sed, QSE_SED_EFILIL, sed->src.lnum - 1); + SETERR0 (sed, QSE_SED_EFILIL, sed->src.loc.lin); goto oops; } @@ -730,7 +725,7 @@ static int get_file (qse_sed_t* sed, qse_xstr_t* xstr) if (qse_str_ccat (t, c) == (qse_size_t)-1) { - SETERR0 (sed, QSE_SED_ENOMEM, sed->src.lnum); + SETERR0 (sed, QSE_SED_ENOMEM, sed->src.loc.lin); goto oops; } @@ -759,7 +754,7 @@ do { \ if (c == QSE_CHAR_EOF || IS_LINTERM(c)) \ { \ SETERR1 (sed, QSE_SED_ECMDIC, \ - (IS_LINTERM(c)? sed->src.lnum-1:sed->src.lnum), \ + sed->src.loc.lin, \ &cmd->type, 1); \ action; \ } \ @@ -778,7 +773,7 @@ static int get_subst (qse_sed_t* sed, qse_sed_cmd_t* cmd) if (delim == QSE_T('\\')) { /* backspace is an illegal delimiter */ - SETERR0 (sed, QSE_SED_EBSDEL, sed->src.lnum); + SETERR0 (sed, QSE_SED_EBSDEL, sed->src.loc.lin); goto oops; } @@ -844,7 +839,7 @@ static int get_subst (qse_sed_t* sed, qse_sed_cmd_t* cmd) if (cmd->u.subst.occ != 0) { - SETERR0 (sed, QSE_SED_EOCSDU, sed->src.lnum); + SETERR0 (sed, QSE_SED_EOCSDU, sed->src.loc.lin); goto oops; } @@ -855,7 +850,7 @@ static int get_subst (qse_sed_t* sed, qse_sed_cmd_t* cmd) occ = occ * 10 + (c - QSE_T('0')); if (occ > QSE_TYPE_MAX(unsigned short)) { - SETERR0 (sed, QSE_SED_EOCSTL, sed->src.lnum); + SETERR0 (sed, QSE_SED_EOCSTL, sed->src.loc.lin); goto oops; } c = NXTSC (sed); @@ -864,7 +859,7 @@ static int get_subst (qse_sed_t* sed, qse_sed_cmd_t* cmd) if (occ == 0) { - SETERR0 (sed, QSE_SED_EOCSZE, sed->src.lnum); + SETERR0 (sed, QSE_SED_EOCSZE, sed->src.loc.lin); goto oops; } @@ -897,7 +892,7 @@ static int get_subst (qse_sed_t* sed, qse_sed_cmd_t* cmd) if (cmd->u.subst.rex == QSE_NULL) { SETERR1 ( - sed, QSE_SED_EREXBL, sed->src.lnum, + sed, QSE_SED_EREXBL, sed->src.loc.lin, QSE_STR_PTR(t[0]), QSE_STR_LEN(t[0]) ); goto oops; @@ -927,7 +922,7 @@ static int get_transet (qse_sed_t* sed, qse_sed_cmd_t* cmd) if (delim == QSE_T('\\')) { /* backspace is an illegal delimiter */ - SETERR0 (sed, QSE_SED_EBSDEL, sed->src.lnum); + SETERR0 (sed, QSE_SED_EBSDEL, sed->src.loc.lin); goto oops; } @@ -977,7 +972,7 @@ static int get_transet (qse_sed_t* sed, qse_sed_cmd_t* cmd) if (pos >= QSE_STR_LEN(t)) { /* source and target not the same length */ - SETERR0 (sed, QSE_SED_ETSNSL, sed->src.lnum); + SETERR0 (sed, QSE_SED_ETSNSL, sed->src.loc.lin); goto oops; } @@ -988,7 +983,7 @@ static int get_transet (qse_sed_t* sed, qse_sed_cmd_t* cmd) if (pos < QSE_STR_LEN(t)) { /* source and target not the same length */ - SETERR0 (sed, QSE_SED_ETSNSL, sed->src.lnum); + SETERR0 (sed, QSE_SED_ETSNSL, sed->src.loc.lin); goto oops; } @@ -1010,21 +1005,19 @@ static int get_command (qse_sed_t* sed, qse_sed_cmd_t* cmd) qse_cint_t c; c = CURSC (sed); - cmd->lnum = sed->src.lnum; + cmd->loc = sed->src.loc; switch (c) { default: { qse_char_t cc = c; - SETERR1 (sed, QSE_SED_ECMDNR, sed->src.lnum, &cc, 1); + SETERR1 (sed, QSE_SED_ECMDNR, sed->src.loc.lin, &cc, 1); return -1; } case QSE_CHAR_EOF: - SETERR0 (sed, QSE_SED_ECMDMS, sed->src.lnum); - return -1; case QSE_T('\n'): - SETERR0 (sed, QSE_SED_ECMDMS, sed->src.lnum-1); + SETERR0 (sed, QSE_SED_ECMDMS, sed->src.loc.lin); return -1; case QSE_T(':'): @@ -1033,7 +1026,7 @@ static int get_command (qse_sed_t* sed, qse_sed_cmd_t* cmd) /* label cannot have an address */ SETERR1 ( sed, QSE_SED_EA1PHB, - sed->src.lnum, &cmd->type, 1 + sed->src.loc.lin, &cmd->type, 1 ); return -1; } @@ -1058,7 +1051,7 @@ static int get_command (qse_sed_t* sed, qse_sed_cmd_t* cmd) if (sed->tmp.grp.level >= QSE_COUNTOF(sed->tmp.grp.cmd)) { /* group nesting too deep */ - SETERR0 (sed, QSE_SED_EGRNTD, sed->src.lnum); + SETERR0 (sed, QSE_SED_EGRNTD, sed->src.loc.lin); return -1; } @@ -1075,7 +1068,7 @@ static int get_command (qse_sed_t* sed, qse_sed_cmd_t* cmd) qse_char_t tmpc = c; SETERR1 ( sed, QSE_SED_EA1PHB, - sed->src.lnum, &tmpc, 1 + sed->src.loc.lin, &tmpc, 1 ); return -1; } @@ -1085,7 +1078,7 @@ static int get_command (qse_sed_t* sed, qse_sed_cmd_t* cmd) if (sed->tmp.grp.level <= 0) { /* group not balanced */ - SETERR0 (sed, QSE_SED_EGRNBA, sed->src.lnum); + SETERR0 (sed, QSE_SED_EGRNBA, sed->src.loc.lin); return -1; } @@ -1104,7 +1097,7 @@ static int get_command (qse_sed_t* sed, qse_sed_cmd_t* cmd) { SETERR1 ( sed, QSE_SED_EA2PHB, - sed->src.lnum, &cmd->type, 1 + sed->src.loc.lin, &cmd->type, 1 ); return -1; } @@ -1121,7 +1114,7 @@ static int get_command (qse_sed_t* sed, qse_sed_cmd_t* cmd) qse_char_t tmpc = c; SETERR1 ( sed, QSE_SED_EA2PHB, - sed->src.lnum, &tmpc, 1 + sed->src.loc.lin, &tmpc, 1 ); return -1; } @@ -1134,10 +1127,7 @@ static int get_command (qse_sed_t* sed, qse_sed_cmd_t* cmd) if (c != QSE_T('\\')) { - SETERR0 ( - sed, QSE_SED_EBSEXP, - (IS_LINTERM(c)? sed->src.lnum-1: sed->src.lnum) - ); + SETERR0 (sed, QSE_SED_EBSEXP, sed->src.loc.lin); return -1; } @@ -1146,7 +1136,7 @@ static int get_command (qse_sed_t* sed, qse_sed_cmd_t* cmd) if (c != QSE_CHAR_EOF && c != QSE_T('\n')) { - SETERR0 (sed, QSE_SED_EGBABS, sed->src.lnum); + SETERR0 (sed, QSE_SED_EGBABS, sed->src.loc.lin); return -1; } @@ -1165,7 +1155,7 @@ static int get_command (qse_sed_t* sed, qse_sed_cmd_t* cmd) qse_char_t tmpc = c; SETERR1 ( sed, QSE_SED_EA2PHB, - sed->src.lnum, &tmpc, 1 + sed->src.loc.lin, &tmpc, 1 ); return -1; } @@ -1231,7 +1221,8 @@ int qse_sed_comp (qse_sed_t* sed, const qse_char_t* sptr, qse_size_t slen) sed->src.ptr = sptr; sed->src.end = sptr + slen; sed->src.cur = sptr; - sed->src.lnum = 1; + sed->src.loc.lin = 1; + sed->src.loc.col = 1; sed->src.cc = (slen > 0)? (*sptr): QSE_CHAR_EOF; /* free all the commands previously compiled */ @@ -1302,7 +1293,7 @@ int qse_sed_comp (qse_sed_t* sed, const qse_char_t* sptr, qse_size_t slen) { if (cmd->a2.type == QSE_SED_ADR_NONE) { - SETERR0 (sed, QSE_SED_EA2MOI, sed->src.lnum); + SETERR0 (sed, QSE_SED_EA2MOI, sed->src.loc.lin); free_address(sed, cmd); return -1; } @@ -1313,7 +1304,7 @@ int qse_sed_comp (qse_sed_t* sed, const qse_char_t* sptr, qse_size_t slen) if (cmd->a1.type != QSE_SED_ADR_LINE || cmd->a2.type != QSE_SED_ADR_LINE) { - SETERR0 (sed, QSE_SED_EA2MOI, sed->src.lnum); + SETERR0 (sed, QSE_SED_EA2MOI, sed->src.loc.lin); free_address(sed, cmd); return -1; } @@ -1358,7 +1349,7 @@ int qse_sed_comp (qse_sed_t* sed, const qse_char_t* sptr, qse_size_t slen) if (sed->tmp.grp.level != 0) { - SETERR0 (sed, QSE_SED_EGRNBA, sed->src.lnum); + SETERR0 (sed, QSE_SED_EGRNBA, sed->src.loc.lin); return -1; } @@ -1422,7 +1413,7 @@ static int read_file ( if (n <= -1) { /*if (sed->errnum != QSE_SED_ENOERR) - * SETERR0 (sed, QSE_SED_EIOUSR, cmd->lnum); + * SETERR0 (sed, QSE_SED_EIOUSR, cmd->loc.lin); *return -1;*/ /* it is ok if it is not able to open a file */ return 0; @@ -1446,7 +1437,7 @@ static int read_file ( sed->e.in.fun (sed, QSE_SED_IO_CLOSE, &arg); if (sed->errnum == QSE_SED_ENOERR) SETERR1 (sed, QSE_SED_EIOFIL, 0, path, plen); - sed->errlin = cmd->lnum; + sed->errlin = cmd->loc.lin; return -1; } if (n == 0) break; @@ -1460,7 +1451,7 @@ static int read_file ( if (qse_str_ccat (&sed->e.txt.read, buf[i]) == (qse_size_t)-1) { sed->e.in.fun (sed, QSE_SED_IO_CLOSE, &arg); - SETERR0 (sed, QSE_SED_ENOMEM, cmd->lnum); + SETERR0 (sed, QSE_SED_ENOMEM, cmd->loc.lin); return -1; } @@ -1473,7 +1464,7 @@ static int read_file ( if (qse_str_ncat (&sed->e.txt.read, buf, n) == (qse_size_t)-1) { sed->e.in.fun (sed, QSE_SED_IO_CLOSE, &arg); - SETERR0 (sed, QSE_SED_ENOMEM, cmd->lnum); + SETERR0 (sed, QSE_SED_ENOMEM, cmd->loc.lin); return -1; } } @@ -1747,7 +1738,7 @@ static int write_str_to_file ( (void*)path, plen, &arg, QSE_SIZEOF(arg)); if (pair == QSE_NULL) { - SETERR0 (sed, QSE_SED_ENOMEM, cmd->lnum); + SETERR0 (sed, QSE_SED_ENOMEM, cmd->loc.lin); return -1; } } @@ -1762,7 +1753,7 @@ static int write_str_to_file ( { if (sed->errnum == QSE_SED_ENOERR) SETERR1 (sed, QSE_SED_EIOFIL, 0, path, plen); - sed->errlin = cmd->lnum; + sed->errlin = cmd->loc.lin; return -1; } if (n == 0) @@ -1772,7 +1763,7 @@ static int write_str_to_file ( * a requested string */ sed->e.out.fun (sed, QSE_SED_IO_CLOSE, ap); ap->handle = QSE_NULL; - SETERR1 (sed, QSE_SED_EIOFIL, cmd->lnum, path, plen); + SETERR1 (sed, QSE_SED_EIOFIL, cmd->loc.lin, path, plen); return -1; } } @@ -1789,7 +1780,7 @@ static int write_str_to_file ( ap->handle = QSE_NULL; if (sed->errnum == QSE_SED_ENOERR) SETERR1 (sed, QSE_SED_EIOFIL, 0, path, plen); - sed->errlin = cmd->lnum; + sed->errlin = cmd->loc.lin; return -1; } @@ -1799,7 +1790,7 @@ static int write_str_to_file ( * it is also an error as it can't write any more */ sed->e.out.fun (sed, QSE_SED_IO_CLOSE, ap); ap->handle = QSE_NULL; - SETERR1 (sed, QSE_SED_EIOFIL, cmd->lnum, path, plen); + SETERR1 (sed, QSE_SED_EIOFIL, cmd->loc.lin, path, plen); return -1; } @@ -1858,7 +1849,7 @@ static int do_subst (qse_sed_t* sed, qse_sed_cmd_t* cmd) if (n <= -1) { - SETERR0 (sed, QSE_SED_EREXMA, cmd->lnum); + SETERR0 (sed, QSE_SED_EREXMA, cmd->loc.lin); return -1; } @@ -2038,7 +2029,7 @@ static int match_a (qse_sed_t* sed, qse_sed_cmd_t* cmd, qse_sed_adr_t* a) &match, &errnum); if (n <= -1) { - SETERR0 (sed, QSE_SED_EREXMA, cmd->lnum); + SETERR0 (sed, QSE_SED_EREXMA, cmd->loc.lin); return -1; } @@ -2538,7 +2529,7 @@ static int init_command_block_for_exec (qse_sed_t* sed, qse_sed_cmd_blk_t* b) { SETERR1 ( sed, QSE_SED_ELABNF, - c->lnum, lab->ptr, lab->len + c->loc.lin, lab->ptr, lab->len ); return -1; } diff --git a/qse/lib/sed/sed.h b/qse/lib/sed/sed.h index 5bfa01d1..f8f204cd 100644 --- a/qse/lib/sed/sed.h +++ b/qse/lib/sed/sed.h @@ -1,5 +1,5 @@ /* - * $Id: sed.h 207 2009-06-22 13:01:28Z hyunghwan.chung $ + * $Id: sed.h 268 2009-08-25 13:07:54Z hyunghwan.chung $ * Copyright 2006-2009 Chung, Hyung-Hwan. @@ -75,7 +75,7 @@ struct qse_sed_adr_t struct qse_sed_cmd_t { qse_char_t type; - qse_size_t lnum; + qse_sed_loc_t loc; int negated; @@ -159,7 +159,7 @@ struct qse_sed_t /** source text pointers */ struct { - qse_size_t lnum; /**< line number */ + qse_sed_loc_t loc; /**< location */ qse_cint_t cc; /**< last character read */ const qse_char_t* ptr; /**< beginning of the source text */ const qse_char_t* end; /**< end of the source text */ diff --git a/qse/samples/awk/awk05.cpp b/qse/samples/awk/awk05.cpp index a10c9eec..dbdfa82e 100644 --- a/qse/samples/awk/awk05.cpp +++ b/qse/samples/awk/awk05.cpp @@ -20,7 +20,8 @@ #include #include -static void print_error (const qse_awk_loc_t& loc, const qse_char_t* msg) +static void print_error ( + const QSE::StdAwk::loc_t& loc, const QSE::StdAwk::char_t* msg) { if (loc.lin > 0 || loc.col > 0) qse_fprintf (QSE_STDERR, QSE_T("ERROR: %s at LINE %lu COLUMN %lu\n"), msg, loc.lin, loc.col); @@ -63,7 +64,7 @@ static int awk_main (int argc, qse_char_t* argv[]) if (ret <= -1) { - qse_awk_loc_t loc = awk.getErrorLocation(); + QSE::StdAwk::loc_t loc = awk.getErrorLocation(); print_error (loc, awk.getErrorMessage()); } diff --git a/qse/samples/awk/awk06.cpp b/qse/samples/awk/awk06.cpp index eaf67963..2b03624e 100644 --- a/qse/samples/awk/awk06.cpp +++ b/qse/samples/awk/awk06.cpp @@ -20,7 +20,8 @@ #include #include -static void print_error (const qse_awk_loc_t& loc, const qse_char_t* msg) +static void print_error ( + const QSE::StdAwk::loc_t& loc, const QSE::StdAwk::char_t* msg) { if (loc.lin > 0 || loc.col > 0) qse_fprintf (QSE_STDERR, QSE_T("ERROR: %s at LINE %lu COLUMN %lu\n"), msg, loc.lin, loc.col); @@ -90,7 +91,7 @@ static int awk_main (int argc, qse_char_t* argv[]) if (ret >= 0) ret = run_awk (awk); if (ret <= -1) { - qse_awk_loc_t loc = awk.getErrorLocation(); + QSE::StdAwk::loc_t loc = awk.getErrorLocation(); print_error (loc, awk.getErrorMessage()); } diff --git a/qse/samples/awk/awk07.cpp b/qse/samples/awk/awk07.cpp index 9de3195c..0cc20db0 100644 --- a/qse/samples/awk/awk07.cpp +++ b/qse/samples/awk/awk07.cpp @@ -20,7 +20,8 @@ #include #include -static void print_error (const qse_awk_loc_t& loc, const qse_char_t* msg) +static void print_error ( + const QSE::StdAwk::loc_t& loc, const QSE::StdAwk::char_t* msg) { if (loc.lin > 0 || loc.col > 0) qse_fprintf (QSE_STDERR, QSE_T("ERROR: %s at LINE %lu COLUMN %lu\n"), msg, loc.lin, loc.col); @@ -125,7 +126,7 @@ static int awk_main (int argc, qse_char_t* argv[]) if (ret >= 0) ret = run_awk (awk); if (ret <= -1) { - qse_awk_loc_t loc = awk.getErrorLocation(); + QSE::StdAwk::loc_t loc = awk.getErrorLocation(); print_error (loc, awk.getErrorMessage()); }