#!/bin/bash

MOUNTPOINT=/mnt/floppy

try_mount()
{
    cat /proc/mounts | grep -q $MOUNTPOINT
    if [ $? -ne 0 ]; then
        mount $MOUNTPOINT &>/dev/null
        ret=$?
        if [ $ret -ne 0 ]; then
            echo "Mounting of '$MOUNTPOINT' failed. Return code $ret" \
              >/dev/stderr
            return 1
        fi
    fi
    return 0
}

if [ -n "$1" ]; then
    case "$1" in
        --umount) umount $MOUNTPOINT >&/dev/null ;;
        --eject)  eject $MOUNTPOINT >&/dev/null ;;
        --format) exec kfloppy ;;
        --*) exit 1 ;;
        *) try_mount && cp -Rp "$@" $MOUNTPOINT || echo "Copy failed." \
             >/dev/stderr ;;
    esac
else
    try_mount && \
    rox $MOUNTPOINT
fi
