diff options
author | ramon <ramongomez@us.es> | 2013-05-07 17:39:31 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2013-05-07 17:39:31 +0000 |
commit | 19b1a2f6682d0bb9af43fbd54642f55ce32cfffd (patch) | |
tree | 3798c6a98176ca627c5ce656a47803de810a26a1 | |
parent | 265d4527a01631d4986aa61c2a01d6ffe7e73f01 (diff) |
Versión 1.0.5, #526: Cambios en función {{{ogDiskToDev}}} para soportar que los parámetros puedan ser números positivos (en vez de un único dígito), lo que permite disponer de más de 9 discos y de más de 9 particiones (necesario en tablas GPT).
git-svn-id: https://opengnsys.es/svn/branches/version1.0@3776 a21b9725-9963-47de-94b9-378ad31fedc9
-rwxr-xr-x | client/engine/Disk.lib | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/client/engine/Disk.lib b/client/engine/Disk.lib index 32279a00..35d44bdb 100755 --- a/client/engine/Disk.lib +++ b/client/engine/Disk.lib @@ -405,6 +405,9 @@ return $OG_ERR_NOTFOUND #@version 0.9 - Primera version para OpenGnSys #@author Ramon Gomez, ETSII Universidad Sevilla #@date 2009-07-20 +#@version 1.0.5 - Comprobación correcta de parámetros para soportar valores > 9. +#@author Ramon Gomez, ETSII Universidad Sevilla +#@date 2013-05-07 #*/ ## function ogDiskToDev () { @@ -430,15 +433,15 @@ case $# in 0) # Muestra todos los discos, separados por espacios. echo $ALLDISKS ;; - 1) # Error si el parámetro no es un digito. - [ -z "${1/[1-9]/}" ] || ogRaiseError $OG_ERR_FORMAT || return $? + 1) # Error si el parámetro no es un número positivo. + [[ "$1" =~ ^[1-9][0-9]*$ ]] || ogRaiseError $OG_ERR_FORMAT "$1" || return $? DISK=$(echo "$ALLDISKS" | awk -v n=$1 '{print $n}') # Error si el fichero no existe. [ -e "$DISK" ] || ogRaiseError $OG_ERR_NOTFOUND "$1" || return $? echo "$DISK" ;; - 2) # Error si los 2 parámetros no son digitos. - [ -z "${1/[1-9]/}" -a -z "${2/[1-9]/}" ] || ogRaiseError $OG_ERR_FORMAT|| return $? + 2) # Error si los 2 parámetros no son números positivos. + [[ "$1" =~ ^[1-9][0-9]*$ ]] && [[ "$2" =~ ^[1-9][0-9]*$ ]] || ogRaiseError $OG_ERR_FORMAT "$1 $2" || return $? DISK=$(echo "$ALLDISKS" | awk -v n=$1 '{print $n}') [ -e "$DISK" ] || ogRaiseError $OG_ERR_NOTFOUND "$1" || return $? PART="$DISK$2" |