Bug #188780 - Make the read_int() function show a more human readable error
authorZac Medico <zmedico@gentoo.org>
Sun, 23 Nov 2008 19:47:25 +0000 (19:47 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 23 Nov 2008 19:47:25 +0000 (19:47 -0000)
message, instead of the 'value too great for base' message when the user
enters an invalid value such as '1y'.

svn path=/main/trunk/; revision=12053

bin/etc-update

index 4d29007f99ffa617858c11feae232568cca40e99..af200f6b48fcaf6f546ba917f0d2ea1797886f0f 100755 (executable)
@@ -223,7 +223,8 @@ read_int() {
                read my_input
                # failed integer conversions will break a loop unless they're enclosed
                # in a subshell.
-               echo "${my_input}" | ( declare -i x; read x) && break
+               echo "${my_input}" | ( declare -i x; read x) 2>/dev/null && break
+               echo -n "Value '$my_input' is not valid. Please enter an integer value:" >&2
        done
        echo ${my_input}
 }