@@ -34,22 +34,26 @@ load)
3434 mount -t squashfs " ${last_opk} " /opk
3535 fi
3636
37+ # Remove unnecessary files
38+ rm -f " ${RESUME_PLAY_FILE} "
39+
3740 # Launch Previous Game if any
3841 if [ -f " ${INSTANT_PLAY_FILE} " ]; then
3942 keymap resume
4043 echo -n " Found Instant Play file, restarting previous game with command: "
41- echo $( head -n 1 " ${INSTANT_PLAY_FILE} " )
42- rm -f " ${RESUME_PLAY_FILE} "
44+ cat " ${INSTANT_PLAY_FILE} "
4345 mv " ${INSTANT_PLAY_FILE} " " ${RESUME_PLAY_FILE} "
4446 source " ${RESUME_PLAY_FILE} "
4547 rm -f " ${RESUME_PLAY_FILE} "
46- if [ -r " ${LAST_OPK_FILE} " ]; then
47- umount /opk
48- rm " ${LAST_OPK_FILE} "
49- fi
5048 keymap default
5149 termfix_all
5250 fi
51+
52+ # Unmount last OPK, if any
53+ if [ -r " ${LAST_OPK_FILE} " ]; then
54+ umount /opk
55+ rm " ${LAST_OPK_FILE} "
56+ fi
5357 ;;
5458
5559save)
@@ -60,13 +64,22 @@ save)
6064
6165 # Write quick load file args
6266 echo -n " " > " ${INSTANT_PLAY_FILE} "
67+ # First arg is prog name, forcing real path
68+ printf " '" >> " ${INSTANT_PLAY_FILE} "
69+ bin_name=$( printf %s " $1 " | sed " s/'/'\\\\ ''/g" )
70+ bin_path=" $( pwd) " /" $( basename " $bin_name " ) "
71+ echo -n " $bin_path " >> " ${INSTANT_PLAY_FILE} "
72+ shift
73+ case $# in 0) break ; esac
74+ printf " ' " >> " ${INSTANT_PLAY_FILE} "
75+
6376 while :
6477 do
65- printf " '" >> " ${INSTANT_PLAY_FILE} "
66- printf %s " $1 " | sed " s/'/'\\\\ ''/g" >> " ${INSTANT_PLAY_FILE} "
67- shift
68- case $# in 0) break ; esac
69- printf " ' " >> " ${INSTANT_PLAY_FILE} "
78+ printf " '" >> " ${INSTANT_PLAY_FILE} "
79+ printf %s " $1 " | sed " s/'/'\\\\ ''/g" >> " ${INSTANT_PLAY_FILE} "
80+ shift
81+ case $# in 0) break ; esac
82+ printf " ' " >> " ${INSTANT_PLAY_FILE} "
7083 done
7184 printf " '\n" >> " ${INSTANT_PLAY_FILE} "
7285
89102 ;;
90103esac
91104exit 0
105+
0 commit comments