Qian Hong : server: Fix type name of directory file.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jun 5 06:46:10 CDT 2015


Module: wine
Branch: master
Commit: ef3ed04cdc96c1a885f9796013b480fb7f5bc243
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ef3ed04cdc96c1a885f9796013b480fb7f5bc243

Author: Qian Hong <qhong at codeweavers.com>
Date:   Tue Jun  2 22:10:37 2015 +0800

server: Fix type name of directory file.

---

 dlls/ntdll/tests/om.c |  6 +++---
 server/change.c       | 10 +++++++++-
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c
index 1fa9c47..0f9008a 100644
--- a/dlls/ntdll/tests/om.c
+++ b/dlls/ntdll/tests/om.c
@@ -783,11 +783,11 @@ static void test_query_object(void)
     memset( buffer, 0, sizeof(buffer) );
     status = pNtQueryObject( handle, ObjectTypeInformation, buffer, sizeof(buffer), &len );
     ok( status == STATUS_SUCCESS, "NtQueryObject failed %x\n", status );
-    todo_wine ok( len > sizeof(OBJECT_TYPE_INFORMATION), "unexpected len %u\n", len );
+    ok( len > sizeof(OBJECT_TYPE_INFORMATION), "unexpected len %u\n", len );
     str = (UNICODE_STRING *)buffer;
     expected_len = sizeof(OBJECT_TYPE_INFORMATION) + str->Length + sizeof(WCHAR);
-    todo_wine ok( len >= expected_len, "unexpected len %u\n", len );
-    todo_wine ok( str->Buffer && !memcmp( str->Buffer, type_file, sizeof(type_file) ),
+    ok( len >= expected_len, "unexpected len %u\n", len );
+    ok( str->Buffer && !memcmp( str->Buffer, type_file, sizeof(type_file) ),
                   "wrong/bad type name %s (%p)\n", wine_dbgstr_w(str->Buffer), str->Buffer );
 
     pNtClose( handle );
diff --git a/server/change.c b/server/change.c
index 11d9b93..59d1819 100644
--- a/server/change.c
+++ b/server/change.c
@@ -148,13 +148,14 @@ static struct security_descriptor *dir_get_sd( struct object *obj );
 static int dir_set_sd( struct object *obj, const struct security_descriptor *sd,
                        unsigned int set_info );
 static void dir_dump( struct object *obj, int verbose );
+static struct object_type *dir_get_type( struct object *obj );
 static void dir_destroy( struct object *obj );
 
 static const struct object_ops dir_ops =
 {
     sizeof(struct dir),       /* size */
     dir_dump,                 /* dump */
-    no_get_type,              /* get_type */
+    dir_get_type,             /* get_type */
     add_queue,                /* add_queue */
     remove_queue,             /* remove_queue */
     default_fd_signaled,      /* signaled */
@@ -250,6 +251,13 @@ static void dir_dump( struct object *obj, int verbose )
     fprintf( stderr, "Dirfile fd=%p filter=%08x\n", dir->fd, dir->filter );
 }
 
+static struct object_type *dir_get_type( struct object *obj )
+{
+    static const WCHAR name[] = {'F','i','l','e'};
+    static const struct unicode_str str = { name, sizeof(name) };
+    return get_object_type( &str );
+}
+
 /* enter here directly from SIGIO signal handler */
 void do_change_notify( int unix_fd )
 {




More information about the wine-cvs mailing list