Skip to content

seanohalpin/ffi-locale

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ffi-locale

Author: Sean O’Halpin

A simple FFI wrapper for the C library {FFI::Locale#setlocale setlocale} and {FFI::Locale#localeconv localeconv} functions.

You would typically use this to enable correct UTF-8 processing in an MRI Ruby 1.8.x script that makes low level widechar function calls via a C extension or FFI wrapper.

The {FFI::Locale#setlocale setlocale} call is not needed in 1.9.x or any version of JRuby.

See the documentation for {FFI::Locale#setlocale setlocale} and {FFI::Locale#localeconv localeconv} for usage.

See {FFI::Locale::LocaleConv} for the information returned by {FFI::Locale#localeconv}.

See +man setlocale+, +man localeconv+ and +man 7 locale+ for details.

Usage

You should call {FFI::Locale#setlocale setlocale} before calling {FFI::Locale#localeconv localeconv} otherwise you’ll get random values in the {FFI::Locale::LocaleConv} structure.

if RUBY_VERSION < '1.9.0'
  require 'ffi-locale'
  FFI::Locale.setlocale(FFI::Locale::LC_ALL, "")
end

locale = FFI::Locale.localeconv
p locale.currency_symbol          # => '£' for en_GB.UTF-8

About

A simple FFI wrapper for the C library setlocale and localeconv functions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages