fixed a bug in get_subst() for sed

This commit is contained in:
hyung-hwan 2009-03-30 09:04:48 +00:00
parent cf12f0ae23
commit e04dafed4b

View File

@ -746,7 +746,10 @@ static int get_subst (qse_sed_t* sed, qse_sed_cmd_t* cmd)
}
while (1);
if (terminate_command (sed) == -1) goto oops;
/* call terminate_command() if the 'w' option is not specified.
* if the 'w' option is given, it is called in get_file(). */
if (cmd->u.subst.file.ptr == QSE_NULL &&
terminate_command (sed) == -1) goto oops;
qse_str_yield (t[1], &cmd->u.subst.rex, 0);
qse_str_yield (t[0], &cmd->u.subst.rpl, 0);
@ -947,7 +950,7 @@ qse_printf (QSE_T("command not recognized [%c]\n"), c);
ADVSCP (sed);
if (terminate_command (sed) == -1) return -1;
printf ("command %c\n", cmd->type);
qse_printf (QSE_T("command %c\n"), cmd->type);
break;
@ -1012,7 +1015,7 @@ qse_printf (QSE_T("%s%s"), ttt, cmd->u.text.ptr);
cmd->type = c;
ADVSCP (sed);
if (terminate_command (sed) == -1) return -1;
printf ("command %c\n", cmd->type);
qse_printf (QSE_T("command %c\n"), cmd->type);
break;
case QSE_T('b'):
@ -1054,6 +1057,10 @@ qse_printf (QSE_T("g=%u p=%u i=%u occ=%d\n"),
cmd->u.subst.p,
cmd->u.subst.i,
cmd->u.subst.occ
);
qse_printf (QSE_T("w=[%.*s]\n"),
(int)cmd->u.subst.file.len,
cmd->u.subst.file.ptr
);
break;