diff --git a/src/main.cc b/src/main.cc index 1a93791dd413f46a023ff96d7339acaa84ce9b03..697c7d0ffc630d476bb7e723620d767c71c02ac5 100644 --- a/src/main.cc +++ b/src/main.cc @@ -541,13 +541,12 @@ main(int argc, char **argv) __libc_stack_end = (void*) &argv; #endif start_time = ev_time(); -#ifndef __APPLE__ /* set locale to make iswXXXX function work */ if (setlocale(LC_CTYPE, "C.UTF-8") == NULL && setlocale(LC_CTYPE, "en_US.UTF-8") == NULL && setlocale(LC_CTYPE, "en_US.utf8") == NULL) fprintf(stderr, "Failed to set locale to C.UTF-8\n"); -#endif + if (argc > 1 && access(argv[1], R_OK) != 0) { if (argc == 2 && argv[1][0] != '-') { /* diff --git a/test/box/alter.result b/test/box/alter.result index 53f7dfb64fdcca637e18344855ede0e2d1953971..5af47e145ce9f4d43e0f08356db3df7774cf3c98 100644 --- a/test/box/alter.result +++ b/test/box/alter.result @@ -299,7 +299,14 @@ box.schema.space.create('_5'):drop() box.schema.space.create('valid_identifier'):drop() --- ... -box.schema.space.create('ынтыпрайзный_空間'):drop() -- unicode +-- some OS-es ship incomplete locales, breaking ID validation +weird_chars='' +--- +... +if jit.os~='OSX' and jit.os~='BSD' then weird_chars='空間' end +--- +... +box.schema.space.create('ынтыпрайзный_'..weird_chars):drop() -- unicode --- ... box.schema.space.create('utf8_наше_ФÑÑ‘'):drop() -- unicode diff --git a/test/box/alter.test.lua b/test/box/alter.test.lua index 316f7d480ec6e9f4bf2469bcb64dcbe1c15a6c9c..5b5bc4ebe79c3f5cbb45eaf0f189540ebc616396 100644 --- a/test/box/alter.test.lua +++ b/test/box/alter.test.lua @@ -106,7 +106,10 @@ box.schema.space.create('') box.schema.space.create('_Abcde'):drop() box.schema.space.create('_5'):drop() box.schema.space.create('valid_identifier'):drop() -box.schema.space.create('ынтыпрайзный_空間'):drop() -- unicode +-- some OS-es ship incomplete locales, breaking ID validation +weird_chars='' +if jit.os~='OSX' and jit.os~='BSD' then weird_chars='空間' end +box.schema.space.create('ынтыпрайзный_'..weird_chars):drop() -- unicode box.schema.space.create('utf8_наше_ФÑÑ‘'):drop() -- unicode space = box.schema.space.create('test')