#/**
#         ogr CopyFile [ str_repo | int_ndisk int_nfilesys ] path_source [ str_repo | int_ndisk int_filesys ] path_target
#@brief   Metafunción para copiar un fichero de sistema OpenGnSys a un directorio OpenGnSys.
#@see     ogr GetPath
#@warning Deben existir tanto el fichero origen como el directorio destino.
#@version 0.9 - Pruebas con OpenGnSys.
#@author  Ramon Gomez, ETSII Universidad de Sevilla
#@date    2009-10-20
#*/ ##
# Variables locales.
local ARGS SOURCE TARGET

ARGS="$@"
case "$1" in
    /*)     # Camino completo.          */ (Comentrio Doxygen)
        SOURCE=$(ogr GetPath "$1")
        shift ;;
    [1-9]*) # ndisco npartición.
        SOURCE=$(ogr GetPath "$1" "$2" "$3")
        shift 3 ;;
    *)      # Otros: repo, cache, cdrom (no se permiten caminos relativos).
        SOURCE=$(ogr GetPath "$1" "$2")
        shift 2 ;;
esac
# Comprobar fichero origen y directorio destino.
[ -n "$SOURCE" ] || ogr RaiseError $OG_ERR_NOTFOUND "${ARGS% $*}" || return $?
TARGET=$(ogr GetPath "$@")
[ -n "$TARGET" ] || ogr RaiseError $OG_ERR_NOTFOUND "$@" || return $?
# Copiar fichero.
cp -p "$SOURCE" "$TARGET"                    # (definir posible error)
