Репозитории ALT
S: | 0.74.3-alt3 |
5.1: | 0.74-alt1.M51.1 |
4.1: | 0.72-alt3 |
4.0: | 0.72-alt4 |
3.0: | 0.63-alt1.1 |
Группа :: Эмуляторы
Пакет: dosbox
Главная Изменения Спек Патчи Исходники Загрузить Gear Bugs and FR Repocop
#!/bin/sh
#
# /usr/bin/dosbox -- part of DOSBox package
#
# Wrapper for running actual DOSBox binary
# with system-wide settings.
#
dir0=`dirname $0`
BIN_PATH=$dir0/dosbox.bin
CONF_NAME=dosbox.conf
CONF_DIRS="$HOME/.dosbox /usr/local/etc/dosbox /etc/dosbox"
declare CONF_PATH
if [ "$1" = "--dry-run" ]; then
: ${doit:=echo}
$doit : Enable dry running...
shift
fi
function report_error() # args are parts of error message
{
echo "Error: $*!" 1>&2
return 1
}
function run_binary() # args are passed to binary
{
$doit : Run binary, args = "$@"
if [ ! -x "$BIN_PATH" ]; then
report_error "cannot find binary $BIN_PATH"
return 1
fi
if [ -z "$DISPLAY" ]; then
report_error "X Window is not running, DISPLAY variable is empty"
return 1
fi
$doit "$BIN_PATH" "$@"
}
function present_switch() # $1 = switch to find, $2* = cmdline. Returns boolean
{
local sw=$1
shift
for c in "$@"; do
[ "$c" = "$sw" ] && return 0
done
$doit : Switch \"$sw\" is not presented.
return 1
}
function assign_conf_name() # no args, assigns CONF_PATH
{
for d in $CONF_DIRS; do
CONF_PATH="$d/${CONF_NAME}"
: $doit : Test configuration file $CONF_PATH
[ -r "$CONF_PATH" ] && return 0
done
return 1
}
function main()
{
if present_switch "-conf" "$@"; then
run_binary "$@"
elif present_switch "--skip" "$@"; then
run_binary "$@"
elif assign_conf_name; then
$doit : Found configuration file "$CONF_PATH"
run_binary -conf "$CONF_PATH" "$@"
else
run_binary "$@"
fi
}
present_switch "--no-main" "$@" || main "$@"
## EOF ##