Farid Zaripov wrote:
I can't understand what does the line "test -z "`echo $it | grep .cm`" ;" in function below?check_locale_m() { printf "Checking \"locale -m\" output..." >$dbgout loc_m_out=`${locale} -m` for it in $loc_m_out; do assertions=`expr $assertions + 1` if test -z "`echo $it | grep .cm`" ; then echo " incorrect." >$dbgout echo "ERROR: \"locale -m\" failed." >$dbgout echo >$dbgout failedassertions=`expr $failedassertions + 1` fi; done; echo " correct." >$dbgout } I suppose that in command 'grep .cm' ".cm" is a regular expression and grep utility should print lines that contains <anychar>cm?
My guess is that whoever wrote it (cough, Liviu, cough) meant a literal period, not just any character (i.e., grep "\.cm") and the expression was supposed to look for the .cm file suffix (where .cm presumably stands for Character Map). If that's correct the regular expression should look for ".cm" at the end each string, i.e., "\.c
On my machine on Windows locale -m produces: ANSI_X3.110-1983 ...
[...]
I not see the lines that matches to the ".cm" regexp. And because of this the sanity check fails.
I don't know why. We'd have to ask the original author if he still remembers -- Liviu? Martin
