#!/usr/bin/env bash

EXIT_CODE=0
for FILE in $(git grep -lE 'int main\(' | grep -vE '^ccan/' | grep '.c$'); do
    if ! grep -q 'setup_locale();' "${FILE}"; then
        echo "main(...) in ${FILE} does not call setup_locale() (see common/utils.h)"
        EXIT_CODE=1
    fi
done
if [[ ${EXIT_CODE} != 0 ]]; then
    echo
    echo "setup_locale() forces the use of the POSIX C locale. By using the"
    echo "POSIX C locale we avoid a class of localization related parsing bugs"
    echo "that can be very tricky to isolate and fix."
fi
exit ${EXIT_CODE}