else
unset resume
fi
+
+case "$resume" in
+ LABEL=*)
+ resume="$(echo $resume | sed 's,/,\\x2f,g')"
+ resume="/dev/disk/by-label/${resume#LABEL=}" ;;
+ UUID=*)
+ resume="/dev/disk/by-uuid/${resume#UUID=}" ;;
+esac
-resume=$(getarg resume=) && ! getarg noresume && {
-(
- /bin/echo -e 'KERNEL=="'${resume#/dev/}'", RUN+="/bin/echo %M:%m > /sys/power/resume"'
- /bin/echo -e 'SYMLINK=="'${resume#/dev/}'", RUN+="/bin/echo %M:%m > /sys/power/resume"'
-) >> /etc/udev/rules.d/99-resume.rules
-}
+if [ -n "$resume" ]; then
+ (
+ printf 'KERNEL=="%s", RUN+="/bin/echo %%M:%%m > /sys/power/resume"\n' \
+ ${resume#/dev/}
+ printf 'SYMLINK=="%s", RUN+="/bin/echo %%M:%%m > /sys/power/resume"\n' \
+ ${resume#/dev/}
+ ) >> /etc/udev/rules.d/99-resume.rules
+fi