]> sourceware.org Git - newlib-cygwin.git/commitdiff
Cygwin: wincap: add wincap_10_1803, add has_case_sensitive_dirs item
authorCorinna Vinschen <corinna@vinschen.de>
Tue, 25 Dec 2018 00:07:39 +0000 (01:07 +0100)
committerCorinna Vinschen <corinna@vinschen.de>
Tue, 25 Dec 2018 00:07:51 +0000 (01:07 +0100)
- Allow to disable the flag by calling disable_case_sensitive_dirs.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
winsup/cygwin/wincap.cc
winsup/cygwin/wincap.h

index 4ba9aa51d7ddd1f89d91c5821c1b8a85bdaa4ca2..d9aea8ac4aceaa0342129990fc02d5fc2360cde3 100644 (file)
@@ -36,6 +36,7 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
     has_unbiased_interrupt_time:false,
     has_precise_interrupt_time:false,
     has_posix_file_info:false,
+    has_case_sensitive_dirs:false,
   },
 };
 
@@ -57,6 +58,7 @@ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = {
     has_unbiased_interrupt_time:true,
     has_precise_interrupt_time:false,
     has_posix_file_info:false,
+    has_case_sensitive_dirs:false,
   },
 };
 
@@ -78,6 +80,7 @@ wincaps wincap_8 __attribute__((section (".cygwin_dll_common"), shared)) = {
     has_unbiased_interrupt_time:true,
     has_precise_interrupt_time:false,
     has_posix_file_info:false,
+    has_case_sensitive_dirs:false,
   },
 };
 
@@ -99,6 +102,7 @@ wincaps  wincap_10_1507 __attribute__((section (".cygwin_dll_common"), shared))
     has_unbiased_interrupt_time:true,
     has_precise_interrupt_time:true,
     has_posix_file_info:false,
+    has_case_sensitive_dirs:false,
   },
 };
 
@@ -120,6 +124,7 @@ wincaps wincap_10_1511 __attribute__((section (".cygwin_dll_common"), shared)) =
     has_unbiased_interrupt_time:true,
     has_precise_interrupt_time:true,
     has_posix_file_info:false,
+    has_case_sensitive_dirs:false,
   },
 };
 
@@ -141,6 +146,7 @@ wincaps wincap_10_1703 __attribute__((section (".cygwin_dll_common"), shared)) =
     has_unbiased_interrupt_time:true,
     has_precise_interrupt_time:true,
     has_posix_file_info:false,
+    has_case_sensitive_dirs:false,
   },
 };
 
@@ -162,6 +168,29 @@ wincaps wincap_10_1709 __attribute__((section (".cygwin_dll_common"), shared)) =
     has_unbiased_interrupt_time:true,
     has_precise_interrupt_time:true,
     has_posix_file_info:true,
+    has_case_sensitive_dirs:false,
+  },
+};
+
+wincaps wincap_10_1803 __attribute__((section (".cygwin_dll_common"), shared)) = {
+  def_guard_pages:2,
+  {
+    is_server:false,
+    needs_count_in_si_lpres2:false,
+    has_gaa_largeaddress_bug:false,
+    has_broken_alloc_console:true,
+    has_console_logon_sid:true,
+    has_precise_system_time:true,
+    has_microsoft_accounts:true,
+    has_processor_groups:true,
+    has_broken_prefetchvm:false,
+    has_new_pebteb_region:true,
+    has_broken_whoami:false,
+    has_unprivileged_createsymlink:true,
+    has_unbiased_interrupt_time:true,
+    has_precise_interrupt_time:true,
+    has_posix_file_info:true,
+    has_case_sensitive_dirs:true,
   },
 };
 
@@ -205,7 +234,9 @@ wincapc::init ()
        break;
       case 10:
       default:
-       if (likely (version.dwBuildNumber >= 16299))
+       if (likely (version.dwBuildNumber >= 17134))
+         caps = &wincap_10_1803;
+       else if (version.dwBuildNumber >= 16299)
          caps = &wincap_10_1709;
        else if (version.dwBuildNumber >= 15063)
          caps = &wincap_10_1703;
index 64924629936f01a7bb156c957bbbeb3258bbe2a6..967ddbdfef159202dc1cd99b9d47afb41e29caf1 100644 (file)
@@ -30,6 +30,7 @@ struct wincaps
     unsigned has_unbiased_interrupt_time       : 1;
     unsigned has_precise_interrupt_time                : 1;
     unsigned has_posix_file_info               : 1;
+    unsigned has_case_sensitive_dirs           : 1;
   };
 };
 
@@ -80,7 +81,12 @@ public:
   bool IMPLEMENT (has_unbiased_interrupt_time)
   bool IMPLEMENT (has_precise_interrupt_time)
   bool IMPLEMENT (has_posix_file_info)
+  bool IMPLEMENT (has_case_sensitive_dirs)
 
+  void disable_case_sensitive_dirs ()
+  {
+    ((wincaps *)caps)->has_case_sensitive_dirs = false;
+  }
 #undef IMPLEMENT
 };
 
This page took 0.036407 seconds and 5 git commands to generate.