Index: ossp-pkg/cfg/ChangeLog RCS File: /v/ossp/cvs/ossp-pkg/cfg/ChangeLog,v rcsdiff -q -kk '-r1.24' '-r1.25' -u '/v/ossp/cvs/ossp-pkg/cfg/ChangeLog,v' 2>/dev/null --- ChangeLog 2004/11/28 13:49:11 1.24 +++ ChangeLog 2004/11/28 14:17:52 1.25 @@ -10,6 +10,9 @@ Changes between 0.9.5 and 0.9.6 (27-Nov-2004 to xx-Dec-2004): + *) Fix annotational error reporting in scanner/parser. + [Ralf S. Engelschall ] + *) Escape non-printable characters of input extracts in error messages. [Ralf S. Engelschall ] Index: ossp-pkg/cfg/cfg_syn.c RCS File: /v/ossp/cvs/ossp-pkg/cfg/cfg_syn.c,v rcsdiff -q -kk '-r1.21' '-r1.22' -u '/v/ossp/cvs/ossp-pkg/cfg/cfg_syn.c,v' 2>/dev/null --- cfg_syn.c 2004/11/28 13:49:11 1.21 +++ cfg_syn.c 2004/11/28 14:17:52 1.22 @@ -185,14 +185,14 @@ /* remember parsing error: part I (context part) */ cfg_fmt_sprintf(ctx->err_buf, ctx->err_len, - "line %d, column %d: `%s'", + "line %d, column %d: `%s': ", line, column, cpBuf); free(cpBuf); /* remember parsing error: part II (parsing part) */ n = strlen(ctx->err_buf); va_start(ap, fmt); - cfg_fmt_vsprintf(ctx->err_buf+n, sizeof(ctx->err_len)-n, fmt, ap); + cfg_fmt_vsprintf(ctx->err_buf+n, ctx->err_len-n, fmt, ap); va_end(ap); return; Index: ossp-pkg/cfg/cfg_syn_parse.y RCS File: /v/ossp/cvs/ossp-pkg/cfg/cfg_syn_parse.y,v rcsdiff -q -kk '-r1.9' '-r1.10' -u '/v/ossp/cvs/ossp-pkg/cfg/cfg_syn_parse.y,v' 2>/dev/null --- cfg_syn_parse.y 2004/11/20 12:54:07 1.9 +++ cfg_syn_parse.y 2004/11/28 14:17:52 1.10 @@ -53,7 +53,7 @@ /* generate verbose error messages and remember them inside the context */ #undef yyerror #define yyerror(msg) \ - cfg_syn_error(CTX, CFG_ERR_SYN, &yylloc, msg) + cfg_syn_error(CTX, CFG_ERR_SYN, &yylloc, "%s", msg) /* scanner state transition */ extern void cfg_syn_scan_push(cfg_syn_ctx_t *, const char *state);