]> sourceware.org Git - newlib-cygwin.git/commitdiff
* sec_auth.cc (str2uni_cat): Move from here...
authorCorinna Vinschen <corinna@vinschen.de>
Sat, 9 May 2009 15:08:16 +0000 (15:08 +0000)
committerCorinna Vinschen <corinna@vinschen.de>
Sat, 9 May 2009 15:08:16 +0000 (15:08 +0000)
* path.cc (str2uni_cat): ...to here.  Simplify.  Make static inline.
(get_nt_native_path): Use RtlAppendUnicodeToString rather than
str2uni_cat for constant strings for speed.
* security.h (str2uni_cat): Drop declaration.

winsup/cygwin/ChangeLog
winsup/cygwin/path.cc
winsup/cygwin/sec_auth.cc
winsup/cygwin/security.h

index f0beeccd6b7378ea9c894ffb91faecd56621f086..c48073f6326175efd7fc1d5c16efb049292de981 100644 (file)
@@ -1,3 +1,11 @@
+2009-05-09  Corinna Vinschen  <corinna@vinschen.de>
+
+       * sec_auth.cc (str2uni_cat): Move from here...
+       * path.cc (str2uni_cat): ...to here.  Simplify.  Make static inline.
+       (get_nt_native_path): Use RtlAppendUnicodeToString rather than
+       str2uni_cat for constant strings for speed.
+       * security.h (str2uni_cat): Drop declaration.
+
 2009-05-08  Corinna Vinschen  <corinna@vinschen.de>
            IWAMURO Motonori <deenheart@gmail.com>
 
index e39a4b2fb5429020c501e3b6458784d5e6c9d692..ec5c40b5c40aef70684f424b354a5bc20b2d8c60 100644 (file)
@@ -428,6 +428,16 @@ transform_chars (PUNICODE_STRING upath, USHORT start_idx)
                   upath->Buffer + upath->Length / sizeof (WCHAR) - 1);
 }
 
+static inline void
+str2uni_cat (UNICODE_STRING &tgt, const char *srcstr)
+{
+  int len = sys_mbstowcs (tgt.Buffer + tgt.Length / sizeof (WCHAR),
+                         (tgt.MaximumLength - tgt.Length) / sizeof (WCHAR),
+                         srcstr);
+  if (len)
+    tgt.Length += (len - 1) * sizeof (WCHAR);
+}
+
 PUNICODE_STRING
 get_nt_native_path (const char *path, UNICODE_STRING& upath)
 {
@@ -438,7 +448,7 @@ get_nt_native_path (const char *path, UNICODE_STRING& upath)
     {
       if (path[1] == ':')      /* X:\... */
        {
-         str2uni_cat (upath, "\\??\\");
+         RtlAppendUnicodeToString (&upath, L"\\??\\");
          str2uni_cat (upath, path);
          /* The drive letter must be upper case. */
          upath.Buffer[4] = towupper (upath.Buffer[4]);
@@ -452,13 +462,13 @@ get_nt_native_path (const char *path, UNICODE_STRING& upath)
   else if ((path[2] != '.' && path[2] != '?')
           || path[3] != '\\')  /* \\server\share\... */
     {
-      str2uni_cat (upath, "\\??\\UNC\\");
+      RtlAppendUnicodeToString (&upath, L"\\??\\UNC\\");
       str2uni_cat (upath, path + 2);
       transform_chars (&upath, 8);
     }
   else                         /* \\.\device or \\?\foo */
     {
-      str2uni_cat (upath, "\\??\\");
+      RtlAppendUnicodeToString (&upath, L"\\??\\");
       str2uni_cat (upath, path + 4);
     }
   return &upath;
index a456eac264b817dd074b980a6110000bc6c1fc1b..82fa144feac1f3411ea45750effb594f998439ea 100644 (file)
@@ -126,18 +126,6 @@ str2buf2lsa (LSA_STRING &tgt, char *buf, const char *srcstr)
   memcpy (buf, srcstr, tgt.MaximumLength);
 }
 
-void
-str2uni_cat (UNICODE_STRING &tgt, const char *srcstr)
-{
-  int len = sys_mbstowcs (tgt.Buffer + tgt.Length / sizeof (WCHAR),
-                         (tgt.MaximumLength - tgt.Length) / sizeof (WCHAR),
-                         srcstr);
-  if (len)
-    tgt.Length += (len - 1) * sizeof (WCHAR);
-  else
-    tgt.Length = tgt.MaximumLength = 0;
-}
-
 HANDLE
 open_local_policy (ACCESS_MASK access)
 {
index 9d306feb087973ba14e522692f5cb2b0cf07e5e7..7b09bc0ad112b93631d9b1f95f3d9fd64314258b 100644 (file)
@@ -366,9 +366,6 @@ extern "C" int acl32 (const char *, int, int, __acl32 *);
 int getacl (HANDLE, path_conv &, int, __acl32 *);
 int setacl (HANDLE, path_conv &, int, __acl32 *, bool &);
 
-struct _UNICODE_STRING;
-void __stdcall str2uni_cat (_UNICODE_STRING &, const char *) __attribute__ ((regparm (2)));
-
 /* Function creating a token by calling NtCreateToken. */
 HANDLE create_token (cygsid &usersid, user_groups &groups, struct passwd * pw);
 /* LSA authentication function. */
This page took 0.034306 seconds and 5 git commands to generate.