70 lines
3.0 KiB
Bash
70 lines
3.0 KiB
Bash
#!/bin/bash
|
|
# Fix all void function return errors
|
|
|
|
echo "================================================================================
|
|
"
|
|
echo "BATCH FIX - VOID FUNCTION RETURN ERRORS"
|
|
echo "================================================================================"
|
|
|
|
FILES=(
|
|
"src/modules/Playerbot/Movement/Pathfinding/PathOptimizer.cpp"
|
|
"src/modules/Playerbot/Movement/Pathfinding/PathfindingAdapter.cpp"
|
|
"src/modules/Playerbot/AI/ExampleManager.cpp"
|
|
"src/modules/Playerbot/Movement/Core/MovementValidator.cpp"
|
|
"src/modules/Playerbot/AI/Strategy/CombatMovementStrategy.cpp"
|
|
"src/modules/Playerbot/Interaction/FlightMasterManager.cpp"
|
|
"src/modules/Playerbot/Interaction/Core/GossipHandler.cpp"
|
|
"src/modules/Playerbot/AI/ClassAI/Hunters/HunterAI.cpp"
|
|
"src/modules/Playerbot/AI/ClassAI/Warlocks/WarlockAI.cpp"
|
|
"src/modules/Playerbot/Game/QuestManager.cpp"
|
|
"src/modules/Playerbot/Advanced/GroupCoordinator.cpp"
|
|
"src/modules/Playerbot/Economy/AuctionManager.cpp"
|
|
"src/modules/Playerbot/Game/NPCInteractionManager.cpp"
|
|
"src/modules/Playerbot/AI/Combat/TargetScanner.cpp"
|
|
"src/modules/Playerbot/Interaction/Core/InteractionManager.cpp"
|
|
"src/modules/Playerbot/Social/TradeManager.cpp"
|
|
"src/modules/Playerbot/Advanced/EconomyManager.cpp"
|
|
)
|
|
|
|
TOTAL_FIXED=0
|
|
|
|
for FILE in "${FILES[@]}"; do
|
|
if [ ! -f "$FILE" ]; then
|
|
echo " [SKIP] Not found: $FILE"
|
|
continue
|
|
fi
|
|
|
|
# Count changes before
|
|
BEFORE=$(grep -c "return false;" "$FILE" 2>/dev/null || echo "0")
|
|
BEFORE=$((BEFORE + $(grep -c "return true;" "$FILE" 2>/dev/null || echo "0")))
|
|
BEFORE=$((BEFORE + $(grep -c "return nullptr;" "$FILE" 2>/dev/null || echo "0")))
|
|
BEFORE=$((BEFORE + $(grep -c "return 0;" "$FILE" 2>/dev/null || echo "0")))
|
|
BEFORE=$((BEFORE + $(grep -c "return {};" "$FILE" 2>/dev/null || echo "0")))
|
|
|
|
# Apply fixes (only standalone return statements, not in expressions)
|
|
sed -i 's/^\(\s*\)return false;$/\1return;/g' "$FILE"
|
|
sed -i 's/^\(\s*\)return true;$/\1return;/g' "$FILE"
|
|
sed -i 's/^\(\s*\)return nullptr;$/\1return;/g' "$FILE"
|
|
sed -i 's/^\(\s*\)return 0;$/\1return;/g' "$FILE"
|
|
sed -i 's/^\(\s*\)return {};$/\1return;/g' "$FILE"
|
|
|
|
# Count changes after
|
|
AFTER=$(grep -c "return false;" "$FILE" 2>/dev/null || echo "0")
|
|
AFTER=$((AFTER + $(grep -c "return true;" "$FILE" 2>/dev/null || echo "0")))
|
|
AFTER=$((AFTER + $(grep -c "return nullptr;" "$FILE" 2>/dev/null || echo "0")))
|
|
AFTER=$((AFTER + $(grep -c "return 0;" "$FILE" 2>/dev/null || echo "0")))
|
|
AFTER=$((AFTER + $(grep -c "return {};;" "$FILE" 2>/dev/null || echo "0")))
|
|
|
|
CHANGES=$((BEFORE - AFTER))
|
|
|
|
if [ $CHANGES -gt 0 ]; then
|
|
echo " [OK] $(basename $FILE) ($CHANGES fixes)"
|
|
TOTAL_FIXED=$((TOTAL_FIXED + CHANGES))
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "================================================================================"
|
|
echo "TOTAL: $TOTAL_FIXED void return statements fixed in ${#FILES[@]} files"
|
|
echo "================================================================================"
|