#!/usr/bin/env bash
# Fix CRLF on DyzineFrame shell scripts after pull from Windows/Dropbox.

if grep -q $'\r' "${BASH_SOURCE[0]}" 2>/dev/null; then
  sed -i 's/\r$//' "${BASH_SOURCE[0]}"
  exec bash "${BASH_SOURCE[0]}" "$@"
fi

set -euo pipefail

DF="${DYZINEFRAME_ROOT:-${HOME}/DyzineFrame}"

fix_tree() {
  local dir="$1"
  [[ -d "${dir}" ]] || return 0
  find "${dir}" -type f \( -name '*.sh' -o -name '*.desktop' \) -print0 2>/dev/null \
    | while IFS= read -r -d '' f; do
      sed -i 's/\r$//' "${f}" 2>/dev/null || true
    done
  chmod a+x "${dir}"/*.sh 2>/dev/null || true
  if [[ -d "${dir}/sync" ]]; then
    chmod a+x "${dir}/sync/"*.sh 2>/dev/null || true
  fi
}

fix_tree "${DF}"
if [[ -d "${HOME}/dyzineframe-sync" ]]; then
  fix_tree "${HOME}/dyzineframe-sync"
fi
if [[ -d "${HOME}/DyzineFrame/sync" ]]; then
  fix_tree "${HOME}/DyzineFrame/sync"
fi
echo "pi_normalize ok: ${DF}"
