#/**
#         ogr GetPartitionSize int_ndisk int_npartition
#@brief   Muestra el tamano en KB de una particion determinada.
#@param   int_ndisk      nº de orden del disco
#@param   int_npartition nº de orden de la partición
#@return  int_partsize - Tamaño en KB de la partición.
#@exception OG_ERR_FORMAT   formato incorrecto.
#@exception OG_ERR_NOTFOUND disco o particion no detectado (no es un dispositivo).
#@note    Requisitos: sfdisk, awk
#@version 0.1 -  Integracion para Opengnsys  -  EAC: SizePartition () en ATA.lib 
#@author  Antonio J. Doblas Viso, Universidad de Malaga
#@date    2008/10/27
#@version 0.9 - Primera version para OpenGNSys
#@author  Ramon Gomez, ETSII Universidad de Sevilla
#@date    2009/07/24
#*/ ##
# Variables locales.
local DISK PART

# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
    ogr Help "$FUNCNAME" "$FUNCNAME int_ndisk int_npartition" \
           "$FUNCNAME 1 1  =>  10000000"
    return
fi
# Error si no se reciben 2 parámetros.
[ $# == 2 ] || ogr RaiseError $OG_ERR_FORMAT || return $?

# Obtener el tamaño de la partición.
DISK="$(ogr DiskToDev $1)" || return $?
PART="$(ogr DiskToDev $1 $2)" || return $?
case "$(ogr GetPartitionId $1 $2)" in
    5|f)  # Procesar detección de tamaño de partición Extendida.
          sfdisk -l $DISK 2>/dev/null | \
                    awk -v p=$PART '{if ($1==p) {sub (/\*/,""); print $5} }'
          ;;
    *)    sfdisk -s $PART
          ;;
esac
