In order to maintain compatibility with ruby 1.9.x, this ticket is about FFI'ing the Puppet::Util::Colors module, so use FFI instead of:
We should always prefer wide character APIs, and not make assumptions about pointer lengths:
Note that none of this code is needed in ruby 2.x, since that ruby version correctly handles unicode characters (such as those used by the puppet module tool), and translation of ANSI escape sequences to the Windows console API. See
PUP-1281 for more information.