* Sync to trunk HEAD (r53473).
[reactos.git] / dll / win32 / rpcrt4 / ndr_fullpointer.c
index 307e545..2bbd2b2 100644 (file)
@@ -111,7 +111,7 @@ int WINAPI NdrFullPointerQueryPointer(PFULL_PTR_XLAT_TABLES pXlatTables,
                                       ULONG *pRefId )
 {
     ULONG Hash = 0;
-    int i;
+    unsigned int i;
     PFULL_PTR_TO_REFID_ELEMENT XlatTableEntry;
 
     TRACE("(%p, %p, %d, %p)\n", pXlatTables, pPointer, QueryType, pRefId);
@@ -161,6 +161,9 @@ int WINAPI NdrFullPointerQueryRefId(PFULL_PTR_XLAT_TABLES pXlatTables,
 {
     TRACE("(%p, 0x%x, %d, %p)\n", pXlatTables, RefId, QueryType, ppPointer);
 
+    if (!RefId)
+        return 1;
+
     expand_pointer_table_if_necessary(pXlatTables, RefId);
 
     pXlatTables->NextRefId = max(RefId + 1, pXlatTables->NextRefId);
@@ -186,7 +189,7 @@ void WINAPI NdrFullPointerInsertRefId(PFULL_PTR_XLAT_TABLES pXlatTables,
                                       ULONG RefId, void *pPointer)
 {
     ULONG Hash = 0;
-    int i;
+    unsigned int i;
     PFULL_PTR_TO_REFID_ELEMENT XlatTableEntry;
 
     TRACE("(%p, 0x%x, %p)\n", pXlatTables, RefId, pPointer);
@@ -211,7 +214,7 @@ void WINAPI NdrFullPointerInsertRefId(PFULL_PTR_XLAT_TABLES pXlatTables,
 int WINAPI NdrFullPointerFree(PFULL_PTR_XLAT_TABLES pXlatTables, void *Pointer)
 {
     ULONG Hash = 0;
-    int i;
+    unsigned int i;
     PFULL_PTR_TO_REFID_ELEMENT XlatTableEntry;
     ULONG RefId = 0;