>>>>> On Sat, 3 Aug 2013, Michał Górny wrote: > 2. The eclass comes with a pure bash-3.2 CamelCase converter for > changing PNs like 'twisted-foo' into 'TwistedFoo'. The relevant code > can be moved to eutils as portable replacements for bash-4 ${foo^} > and friends.
> # obtain octal ASCII code for the first letter. > local ord=$(printf '%o' "'${fl}") > > # check if it's [a-z]. ASCII codes are locale-safe. > if [[ ${ord} -ge 141 && ${ord} -le 172 ]]; then > # now substract 040 to make it upper-case. > # fun fact: in range 0141..0172, decimal '- 40' is fine. > local ord=$(( ${ord} - 40)) > # and convert it back to the character. > fl=$(printf '\'${ord}) > fi This looks just horrible. You do decimal arithmetic on octal numbers? Ulrich