adacl_eastrings_6.1.1_e075ab39/src/windows/adacl-eastrings_unix_interface.adb

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
pragma License (Modified_Gpl);
pragma Ada_2022;

with AdaCL.Interfaces.C.LibC;

package body AdaCL.EAStrings_Unix_Interface
is

   package LC    renames AdaCL.Interfaces.C.LibC;
   package C_Str renames Standard.Interfaces.C.Strings;

   Empty :  constant C_Str.chars_ptr
     := C_Str.New_String (String'(1 => Character'Val (0)));

   procedure Init_Locale
   is
      Dummy_Result : C_Str.chars_ptr;
      pragma Warnings (Off, Dummy_Result);
   begin
      Dummy_Result := LC.setlocale (LC.LC_ALL, Empty);

      return;
   end Init_Locale;

   function System_Encoding
     return
     Standard.Interfaces.C.Strings.chars_ptr
   is
   begin
      return LC.nl_langinfo (LC.NL_CTYPE_CODESET_NAME);
   end System_Encoding;

end AdaCL.EAStrings_Unix_Interface;