#!/bin/sh
# Checks to see if a log file is too large and rotates it
# If no log file is provided, rotates the user log file

set -e

if [ "$#" -ne 1 ]; then
    echo "Usage: rotate SIZE_IN_BYTES [LOGFILE]"
    exit 1
fi

LIMIT="$1"
LOGPATH="${2:-${XDG_STATE_HOME:-$HOME/.local/state}/messages}"
echo "LOGPATH: $LOGPATH"

if [ ! -f "$LOGPATH" ]; then
    echo "Error: $LOGPATH is not a file"
    exit 2
fi

FILESIZE="$(stat -c%s "$LOGPATH")"

if [ "$FILESIZE" -gt "$LIMIT" ]; then
    mv "$LOGPATH" "$LOGPATH.0"
fi
