a certain size optimisation broke the utf8bom-3 regression test if
mksh was configured to have utf-8 mode “always on” (because it's really only always on for interactive shells); setting it to really always on would break the other half of this regression test, so do the optimisation only if MKSH_SMALL
This commit is contained in:
parent
384032b729
commit
d2d035355f
3
check.t
3
check.t
|
@ -1,4 +1,4 @@
|
||||||
# $MirOS: src/bin/mksh/check.t,v 1.102 2007/05/10 19:08:47 tg Exp $
|
# $MirOS: src/bin/mksh/check.t,v 1.103 2007/05/10 19:22:10 tg Exp $
|
||||||
# $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $
|
# $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $
|
||||||
# $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $
|
# $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $
|
||||||
# $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $
|
# $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $
|
||||||
|
@ -3955,6 +3955,7 @@ expected-stdout:
|
||||||
name: utf8bom-3
|
name: utf8bom-3
|
||||||
description:
|
description:
|
||||||
Reading the UTF-8 BOM should enable the utf8-hack flag
|
Reading the UTF-8 BOM should enable the utf8-hack flag
|
||||||
|
(unless both MKSH_ASSUME_UTF8 and MKSH_SMALL are set)
|
||||||
category: pdksh
|
category: pdksh
|
||||||
stdin:
|
stdin:
|
||||||
$0 -c ':; x=$(set +o); if [[ $x = *utf8* ]]; then print on; else print off; fi'
|
$0 -c ':; x=$(set +o); if [[ $x = *utf8* ]]; then print on; else print off; fi'
|
||||||
|
|
4
lex.c
4
lex.c
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
|
|
||||||
__RCSID("$MirOS: src/bin/mksh/lex.c,v 1.29 2007/04/26 11:58:53 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/lex.c,v 1.30 2007/05/10 19:22:11 tg Exp $");
|
||||||
|
|
||||||
/* Structure to keep track of the lexing state and the various pieces of info
|
/* Structure to keep track of the lexing state and the various pieces of info
|
||||||
* needed for each particular state. */
|
* needed for each particular state. */
|
||||||
|
@ -957,7 +957,7 @@ getsc__(void)
|
||||||
(((const unsigned char *)(s->str))[0] == 0xBB) &&
|
(((const unsigned char *)(s->str))[0] == 0xBB) &&
|
||||||
(((const unsigned char *)(s->str))[1] == 0xBF)) {
|
(((const unsigned char *)(s->str))[1] == 0xBF)) {
|
||||||
s->str += 2;
|
s->str += 2;
|
||||||
#ifndef MKSH_ASSUME_UTF8 /* otherwise it's always on */
|
#if !defined(MKSH_ASSUME_UTF8) || !defined(MKSH_SMALL)
|
||||||
Flag(FUTFHACK) = 1;
|
Flag(FUTFHACK) = 1;
|
||||||
#endif
|
#endif
|
||||||
goto getsc_again;
|
goto getsc_again;
|
||||||
|
|
Loading…
Reference in New Issue