duturo1953 |
08-23-2017 12:20 PM |
a bug in dialog merged with Slackware64 current?
Hello to all.
I recently went to Slackware Current and found out that some of my scripts, where I use intensive dialogs, did not work anymore.
After some correction attempts, there were mistakes in the code, I found instead that there is a tiny bug in the dialog program, only in the --file option.
I did try also the dialog --file from samples of dialog itslef, but also samples did'nt function.
(checklist9 and checklist9.txt. Here the code:
Code:
#! /bin/sh
# $Id: checklist9,v 1.8 2010/01/13 10:20:03 tom Exp $
# "checklist8" using --file
. ./setup-vars
. ./setup-tempfile
$DIALOG "$@" --file checklist9.txt 2>$tempfile
retval=$?
. ./report-tempfile
Here the text:
Code:
--help-button \
--colors \
--backtitle "\Z1No Such\Zn Organization" \
--separate-output \
--title "CHECKLIST BOX" \
--checklist "Hi, this is a checklist box. You can use this to \n\
present a list of choices which can be turned on or \n\
off. If there are more items than can fit on the \n\
screen, the list will be scrolled. You can use the \n\
\Z4UP/DOWN\Zn arrow keys, the first letter of the choice as a \n\
hot key, or the number keys 1-9 to choose an option. \n\
Press \Zb\ZrSPACE\Zn to toggle an option on/off. \n\n\
Which of the following are fruits?" 20 61 5 \
"Apple" "It's an \Z1apple\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off \
"Dog" "No, that's not my dog. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ON \
"Orange" "Yeah, that's juicy. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off \
"Chicken" "Normally not a pet. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off \
"" "No such pet. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off \
"Cat" "No, never put a dog and a cat together! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" oN \
"Fish" "Cats like \Z4fish\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" On \
"Lemon" "You know how it \Zr\Zb\Z3tastes\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" on
Reinstalled the Slackware64-14.2 dialog package, my scripts have resumed working perfectly.
I would like to point out to both the dialogue authors and Patrick Volkerding.
Here's an example of my scripts:
Code:
if ! ls *.iso; then
dialog --no-cancel --title "Nessun file" --msgbox "\n\nNon c'è nessun file immagine iso nella \
\ndirectory corrente. Esco dal programma." 10 50
exit
fi
export NUMERO="$(ls *.iso | wc -l)"
if [ "$NUMERO" -ge 20 ]; then
dialog --title "Spostamento e copia dei files" \
--inputbox "\n\n\n(Anno_Numero_cd_NomeNumero\)\n\nQuale anno vuoi montare?\n\n\n" \
0 0 "1997" 2>ANNO;
if [ $? -eq 1 ]; then exit; fi
fi
export LANNO="$(cat ANNO)"
rm ANNO
function lodialogo(){
echo '--title "Ferrari Renato Software - Programma VirtualIso" --no-cancel --separate-output \
--checklist "\nBenvenuti nel programma per montare \
\ni dischi immagine iso\
\nChe cosa scegli?\n\n" 0 0 0 \' > IMGvirt.txt
echo \"Uscita\" \"Esce dal programma\" "ON" \\ >> IMGvirt.txt
for CICCIO in "$LANNO"*.iso; do
CICCIA="$(echo $CICCIO | rev | cut -f1 -d\/ | rev)"
echo \"$CICCIO\" \"$CICCIA\" "OFF" \ \\ >> IMGvirt.txt ;
done
echo \"Tutti\" \"Tutte le immagini iso\" "OFF" >> IMGvirt.txt
dialog --file IMGvirt.txt 2>POPA
export DISCO="$(cat POPA)"
rm -f POPA
if [ `echo "$DISCO" | grep "Uscita"` ]; then
mipulisco
exit;
fi
}
function mipulisco(){
rm IMGvirt.txt &>/dev/null;
for POPA in /mnt/minihd2/dischiimg/*; do
sudo umount $POPA &>/dev/null;
done
rmdir /mnt/minihd2/dischiimg/* &>/dev/null
}
lodialogo
MICONTO=1
if echo "$DISCO" | grep "Tutti"; then export DISCO="$(ls -1 "$LANNO"*.iso)"; fi
for CONTO in `echo "$DISCO" | cat`; do
export CONTA="$(echo "$CONTO" | rev | cut -f2- -d\. | rev)";
mkdir -p /mnt/minihd2/dischiimg/"$MICONTO""_""$CONTA" &>/dev/null;
sudo mount -o,loop "$CONTO" /mnt/minihd2/dischiimg/"$MICONTO""_""$CONTA" &>/dev/null;
MICONTO=$((MICONTO+1));
done
kfmclient openProfile filemanagement /mnt/minihd2/dischiimg
where IMGvirt.txt is a file generate from script itself and
where dialog --file IMGvirt.txt 2>POPA is the command that don't funcion.
All other flags of dialog haven't bugs
In Slackware64-14.2 dialog package is:
dialog-1.2_20130523-x86_64-1.txz
In Slackware64-current dialog package is:
dialog-1.3_20160828-x86_64-1.txz
|