diff --git a/lib/clean/project.sh b/lib/clean/project.sh index a86dae0..f89b288 100644 --- a/lib/clean/project.sh +++ b/lib/clean/project.sh @@ -210,9 +210,9 @@ is_recently_modified() { return 1 fi - # Check modification time (macOS compatible) + # Get modification time using base.sh helper (handles GNU vs BSD stat) local mod_time - mod_time=$(stat -f "%m" "$path" 2> /dev/null || stat -c "%Y" "$path" 2> /dev/null || echo "0") + mod_time=$(get_file_mtime "$path") local current_time=$(date +%s) local age_seconds=$((current_time - mod_time)) local age_in_days=$((age_seconds / 86400)) diff --git a/lib/clean/system.sh b/lib/clean/system.sh index 4988510..a3e4efd 100644 --- a/lib/clean/system.sh +++ b/lib/clean/system.sh @@ -40,7 +40,7 @@ clean_deep_system() { # Skip system-protected files (restricted flag) local item_flags - item_flags=$(command stat -f%Sf "$item" 2> /dev/null || echo "") + item_flags=$($STAT_BSD -f%Sf "$item" 2> /dev/null || echo "") if [[ "$item_flags" == *"restricted"* ]]; then continue fi diff --git a/scripts/build-analyze.sh b/scripts/build-analyze.sh index 6dd5d40..41b75d6 100755 --- a/scripts/build-analyze.sh +++ b/scripts/build-analyze.sh @@ -44,7 +44,7 @@ echo "" echo "✓ Build complete!" echo "" file bin/analyze-go -size_bytes=$(stat -f%z bin/analyze-go 2> /dev/null || echo 0) +size_bytes=$(/usr/bin/stat -f%z bin/analyze-go 2> /dev/null || echo 0) size_mb=$((size_bytes / 1024 / 1024)) printf "Size: %d MB (%d bytes)\n" "$size_mb" "$size_bytes" echo "" diff --git a/scripts/build-status.sh b/scripts/build-status.sh index 175df19..2499e71 100755 --- a/scripts/build-status.sh +++ b/scripts/build-status.sh @@ -37,7 +37,7 @@ echo "" echo "✓ Build complete!" echo "" file bin/status-go -size_bytes=$(stat -f%z bin/status-go 2> /dev/null || echo 0) +size_bytes=$(/usr/bin/stat -f%z bin/status-go 2> /dev/null || echo 0) size_mb=$((size_bytes / 1024 / 1024)) printf "Size: %d MB (%d bytes)\n" "$size_mb" "$size_bytes" echo ""