[BusyBox] bug#1277: problem with ash local builtin and $IFS

Jan Oelschlägel janoel at dresearch.de
Mon Oct 14 06:46:04 UTC 2002


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Package: busybox
Version: 0.60.4
Severity: normal

The following script:

- ----->8-snip-----
#!/bin/ash

test()
{
	local OFS=$IFS
	echo "OFS=´$OFS´"
	echo "IFS=´$IFS´"
	IFS=$OFS
}

test
- ----->8-snip-----

produces the following output on my busybox ash
OFS=´´
IFS=´   
´
but should be (like on a GNU ash)
OFS=´ 	
´
IFS=´ 	
´

The problem first occured after updating to 0.60.4. After taking
a look into the CVS-diff for the new release it seemed possible,
that the problem is related to the removing of a portion of code
which handled BUILTIN_ASSIGN.

The system is RedHat 7.1 based (shrinked to an embedded 6MB system)
and runs with a 2.4.18 kernel.

Config.h follows...

Best regards,
Jan Oelschl"agel
DResearch GmbH

- ----->8-snip-----

// BusyBox Applications
//#define BB_ADJTIMEX
//#define BB_AR
#define BB_ASH
#define BB_BASENAME
#define BB_CAT
#define BB_CHGRP
#define BB_CHMOD
#define BB_CHOWN
#define BB_CHROOT
#define BB_CHVT
#define BB_CLEAR
//#define BB_CMP
#define BB_CP
//#define BB_CPIO
#define BB_CUT
//#define BB_DATE
//#define BB_DC
#define BB_DD
//#define BB_DEALLOCVT
#define BB_DF
#define BB_DIRNAME
#define BB_DMESG
//#define BB_DOS2UNIX
//#define BB_DPKG
//#define BB_DPKG_DEB
//#define BB_DUTMP
#define BB_DU
//#define BB_DUMPKMAP
#define BB_ECHO
#define BB_ENV
#define BB_EXPR
//#define BB_FBSET
//#define BB_FDFLUSH
#define BB_FIND
#define BB_FREE
//#define BB_FREERAMDISK
//#define BB_FSCK_MINIX
#define BB_GETOPT
#define BB_GREP
#define BB_GUNZIP
#define BB_GZIP
#define BB_HALT
#define BB_HEAD
#define BB_HOSTID
#define BB_HOSTNAME
//#define BB_HUSH
#define BB_ID
#define BB_IFCONFIG
#define BB_INIT
#define BB_INSMOD
#define BB_KILL
#define BB_KILLALL
#define BB_KLOGD
//#define BB_LASH
//#define BB_LENGTH
#define BB_LN
//#define BB_LOADACM
//#define BB_LOADFONT
//#define BB_LOADKMAP
#define BB_LOGGER
#define BB_LOGNAME
//#define BB_LOSETUP
#define BB_LS
#define BB_LSMOD
//#define BB_MAKEDEVS
#define BB_MD5SUM
#define BB_MKDIR
#define BB_MKFIFO
//#define BB_MKFS_MINIX
#define BB_MKNOD
#define BB_MKSWAP
#define BB_MKTEMP
#define BB_MODPROBE
#define BB_MORE
#define BB_MOUNT
//#define BB_MSH
//#define BB_MT
#define BB_MV
#define BB_NC
#define BB_NSLOOKUP
#define BB_PIDOF
#define BB_PING
//#define BB_PIVOT_ROOT
#define BB_POWEROFF
#define BB_PRINTF
#define BB_PS
#define BB_PWD
#define BB_RDATE
//#define BB_READLINK
#define BB_REBOOT
//#define BB_RENICE
#define BB_RESET
#define BB_RM
#define BB_RMDIR
#define BB_RMMOD
#define BB_ROUTE
//#define BB_RPM2CPIO
#define BB_SED
//#define BB_SETKEYCODES
#define BB_SLEEP
#define BB_SORT
//#define BB_STTY
#define BB_SWAPONOFF
#define BB_SYNC
#define BB_SYSLOGD
#define BB_TAIL
#define BB_TAR
#define BB_TEE
#define BB_TEST
#define BB_TELNET
//#define BB_TFTP
#define BB_TIME
//#define BB_TOP
#define BB_TOUCH
//#define BB_TR
#define BB_TRACEROUTE
#define BB_TRUE_FALSE
#define BB_TTY
//#define BB_UNIX2DOS
//#define BB_UUENCODE
//#define BB_UUDECODE
#define BB_UMOUNT
#define BB_UNIQ
#define BB_UNAME
#define BB_UPDATE
#define BB_UPTIME
#define BB_USLEEP
#define BB_VI
#define BB_WATCHDOG
#define BB_WC
#define BB_WGET
#define BB_WHICH
#define BB_WHOAMI
#define BB_XARGS
#define BB_YES
// End of Applications List
#define BB_FEATURE_SH_IS_ASH
//#define BB_FEATURE_SH_IS_HUSH
//#define BB_FEATURE_SH_IS_LASH
//#define BB_FEATURE_SH_IS_MSH
//
//#define BB_FEATURE_BUFFERS_GO_ON_STACK
//#define BB_FEATURE_BUFFERS_GO_IN_BSS
//#define BB_FEATURE_USE_DEVPS_PATCH
#define BB_FEATURE_VERBOSE_USAGE
#define BB_FEATURE_USE_TERMIOS
#define BB_FEATURE_AUTOWIDTH
#define BB_FEATURE_LS_USERNAME
#define BB_FEATURE_LS_TIMESTAMPS
#define BB_FEATURE_LS_FILETYPES
#define BB_FEATURE_LS_SORTFILES
#define BB_FEATURE_LS_RECURSIVE
#define BB_FEATURE_LS_FOLLOWLINKS
#define BB_FEATURE_LS_COLOR
#define BB_FEATURE_FANCY_PING
#define BB_FEATURE_USE_INITTAB
//#define BB_FEATURE_LINUXRC
//#define BB_FEATURE_INIT_COREDUMPS
//#define BB_FEATURE_EXTRA_QUIET
#define BB_FEATURE_REMOTE_LOG
//#define BB_FEATURE_IPC_SYSLOG
#define BB_FEATURE_FANCY_TAIL
#define BB_FEATURE_MOUNT_LOOP
//#define BB_FEATURE_MTAB_SUPPORT
#define BB_FEATURE_NFSMOUNT
#define BB_FEATURE_MOUNT_FORCE
#define BB_FEATURE_TAR_CREATE
#define BB_FEATURE_TAR_EXCLUDE
#define BB_FEATURE_TAR_GZIP 
#define BB_FEATURE_SORT_REVERSE
#define BB_FEATURE_SORT_UNIQUE
#define BB_FEATURE_COMMAND_EDITING
#define BB_FEATURE_COMMAND_TAB_COMPLETION
//#define BB_FEATURE_COMMAND_USERNAME_COMPLETION
//#define BB_FEATURE_SH_STANDALONE_SHELL
//#define BB_FEATURE_SH_APPLETS_ALWAYS_WIN
#define BB_FEATURE_SH_FANCY_PROMPT
#define BB_FEATURE_ASH_JOB_CONTROL
//#define BB_FEATURE_FBSET_FANCY
//#define BB_FEATURE_FBSET_READMODE
#define BB_FEATURE_NEW_MODULE_INTERFACE
//#define BB_FEATURE_OLD_MODULE_INTERFACE
#define BB_FEATURE_INSMOD_VERSION_CHECKING
//#define BB_FEATURE_INSMOD_LOADINKMEM
//#define BB_FEATURE_MINIX2
#define BB_FEATURE_IFCONFIG_STATUS
//#define BB_FEATURE_IFCONFIG_SLIP
#define BB_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
#define BB_FEATURE_IFCONFIG_HW
#define BB_FEATURE_IFCONFIG_BROADCAST_PLUS
#define BB_FEATURE_INSTALLER
#define BB_FEATURE_WGET_STATUSBAR
#define BB_FEATURE_WGET_AUTHENTICATION
#define BB_FEATURE_HUMAN_READABLE
#define BB_FEATURE_FIND_TYPE
#define BB_FEATURE_FIND_PERM
#define BB_FEATURE_FIND_MTIME
#define BB_FEATURE_FIND_NEWER
#define BB_FEATURE_GREP_CONTEXT
#define BB_FEATURE_GREP_EGREP_ALIAS
#define BB_FEATURE_TFTP_PUT
#define BB_FEATURE_TFTP_GET
#define BB_FEATURE_VI_COLON		// ":" colon commands, no "ex" mode
#define BB_FEATURE_VI_YANKMARK		// Yank/Put commands and Mark cmds
#define BB_FEATURE_VI_SEARCH		// search and replace cmds
#define BB_FEATURE_VI_USE_SIGNALS	// catch signals
#define BB_FEATURE_VI_DOT_CMD		// remember previous cmd and "." cmd
#define BB_FEATURE_VI_READONLY		// vi -R and "view" mode
#define BB_FEATURE_VI_SETOPTS		// set-able options,  ai ic showmatch
#define BB_FEATURE_VI_SET		// :set
#define BB_FEATURE_VI_WIN_RESIZE	// handle window resize
//#define BB_LOCALE_SUPPORT
#define BB_FEATURE_TELNET_TTYPE
#define BB_FEATURE_DEVFS
// End of Features List
//
// <<< rest of Config.h cut off >>>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE9qrcfzY2TfxFp8uERAnxSAKD+Ryl7WGnqlDJlqE3Z2UIYUbvyTACfYEsL
tv5q+wbLfQEUjynW647lkAo=
=KOJR
-----END PGP SIGNATURE-----






More information about the busybox mailing list