summaryrefslogtreecommitdiffhomepage
path: root/src/ruby
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2021-03-15 15:03:32 +0300
committerValentin Bartenev <vbart@nginx.com>2021-03-15 15:03:32 +0300
commit4c261a7ff8f2b2af08cc2cdee6828af4a1cf7794 (patch)
tree09ef8467beb97a5213c5587cc378499d5060a950 /src/ruby
parentb0a1266835386590c65ec433759c5cc1063bd472 (diff)
downloadunit-4c261a7ff8f2b2af08cc2cdee6828af4a1cf7794.tar.gz
unit-4c261a7ff8f2b2af08cc2cdee6828af4a1cf7794.tar.bz2
Ruby: fixed encodings initialization.
The Ruby interpreter expects an explicit setlocale() call before initialization to pick up character encodings in the "Encoding" class from the environment. This closes #531 issue on GitHub.
Diffstat (limited to 'src/ruby')
-rw-r--r--src/ruby/nxt_ruby.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ruby/nxt_ruby.c b/src/ruby/nxt_ruby.c
index 0aad887d..ca14af5b 100644
--- a/src/ruby/nxt_ruby.c
+++ b/src/ruby/nxt_ruby.c
@@ -12,6 +12,8 @@
#include NXT_RUBY_MOUNTS_H
+#include <locale.h>
+
#define NXT_RUBY_RACK_API_VERSION_MAJOR 1
#define NXT_RUBY_RACK_API_VERSION_MINOR 3
@@ -200,6 +202,8 @@ nxt_ruby_start(nxt_task_t *task, nxt_process_data_t *data)
nxt_ruby_threads = c->threads;
+ setlocale(LC_CTYPE, "");
+
RUBY_INIT_STACK
ruby_init();
ruby_options(2, argv);