function CUPS_printing
{
LOOP=0 # Loop Counter - To grab three lines at a time

lpc status all | egrep .:|printing|queuing. | while read LINE
do
    # Load three unique lines at a time
    case $LINE in
    *:) Q=$(echo $LINE | cut -d .:. -f1)
        ;;
    printing*)
        PSTATUS=$(echo $LINE | awk .{print $3}.)
        ;;
    queuing*)
        QSTATUS=$(echo $LINE | awk .{print $3}.)
        ;;
    esac

    # Increment the LOOP counter
    (( LOOP = LOOP + 1 ))
    if ((LOOP == 3)) # Do we have all three lines of data?
    then
        # Check printing status
        case $PSTATUS in
        disabled) cupsenable $Q >/dev/null
                  (($? == 0)) && echo -e "\n$Q printing re-started\n"
                  sleep 1
                  ;;
        enabled|*) : # No-Op - Do Nothing
                  ;;
        esac

        # Check queuing status
        case $QSTATUS in
        disabled) accept $Q # >/dev/null
                  (($? == 0)) && echo -e "\n$Q queueing re-enabled\n"
                  ;;
        enabled|*) : # No-Op - Do Nothing
                  ;;
        esac

        LOOP=0 # Reset the loop counter to zero
    fi
done
}

