diff options
Diffstat (limited to 'Src/utils.c')
-rw-r--r-- | Src/utils.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Src/utils.c b/Src/utils.c index b5cdc4613..38c820f29 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -3271,7 +3271,8 @@ inittyptab(void) typtab[t0] |= ITOK | IMETA; for (t0 = (int)STOUC(Snull); t0 <= (int)STOUC(Nularg); t0++) typtab[t0] |= ITOK | IMETA | INULL; - for (s = ifs ? ifs : DEFAULT_IFS; *s; s++) { + for (s = ifs ? ifs : EMULATION(EMULATE_KSH|EMULATE_SH) ? + ztrdup(DEFAULT_IFS_SH) : ztrdup(DEFAULT_IFS); *s; s++) { int c = STOUC(*s == Meta ? *++s ^ 32 : *s); #ifdef MULTIBYTE_SUPPORT if (!isascii(c)) { @@ -3305,7 +3306,8 @@ inittyptab(void) } #ifdef MULTIBYTE_SUPPORT set_widearray(wordchars, &wordchars_wide); - set_widearray(ifs ? ifs : DEFAULT_IFS, &ifs_wide); + set_widearray(ifs ? ifs : EMULATION(EMULATE_KSH|EMULATE_SH) ? + ztrdup(DEFAULT_IFS_SH) : ztrdup(DEFAULT_IFS), &ifs_wide); #endif for (s = SPECCHARS; *s; s++) typtab[STOUC(*s)] |= ISPECIAL; |