Author: fireball
Date: Sat Jul 18 13:50:12 2009
New Revision: 42038
URL:
http://svn.reactos.org/svn/reactos?rev=42038&view=rev
Log:
- Fix include headers.
- Change memory allocations to pool allocations.
Modified:
branches/arwinss/reactos/subsystems/win32/win32k/wine/atom.c
Modified: branches/arwinss/reactos/subsystems/win32/win32k/wine/atom.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/wine/atom.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/wine/atom.c [iso-8859-1] Sat Jul 18
13:50:12 2009
@@ -19,25 +19,19 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "config.h"
-#include "wine/port.h"
-
-#include <assert.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "ntstatus.h"
-#define WIN32_NO_STATUS
-
-#include "unicode.h"
+#include <win32k.h>
+
+#include <limits.h>
+
+#undef LIST_FOR_EACH
+#undef LIST_FOR_EACH_SAFE
+#include "object.h"
#include "request.h"
-#include "object.h"
-#include "process.h"
#include "handle.h"
#include "user.h"
-#include "winuser.h"
-#include "winternl.h"
+
+#define NDEBUG
+#include <debug.h>
#define HASH_SIZE 37
#define MIN_HASH_SIZE 4
@@ -104,7 +98,7 @@
if ((entries_count < MIN_HASH_SIZE) ||
(entries_count > MAX_HASH_SIZE)) entries_count = HASH_SIZE;
table->entries_count = entries_count;
- if (!(table->entries = malloc( sizeof(*table->entries) *
table->entries_count )))
+ if (!(table->entries = ExAllocatePool( PagedPool, sizeof(*table->entries) *
table->entries_count )))
{
set_error( STATUS_NO_MEMORY );
goto fail;
@@ -143,7 +137,12 @@
int new_size = table->count + table->count / 2;
if (new_size > MAX_ATOMS) new_size = MAX_ATOMS;
if (new_size > table->count)
- new_table = realloc( table->handles, sizeof(*table->handles) * new_size
);
+ {
+ //new_table = ExAllocatePool(PagedPool, sizeof(*table->handles) *
new_size);
+ //RtlCopyMemory(new_table, table, sizeof(*table->handles));
+ //new_table = realloc( table->handles, sizeof(*table->handles) *
new_size );
+ UNIMPLEMENTED;
+ }
if (!new_table)
{
set_error( STATUS_NO_MEMORY );
@@ -171,6 +170,7 @@
/* dump an atom table */
static void atom_table_dump( struct object *obj, int verbose )
{
+#if 0
int i;
struct atom_table *table = (struct atom_table *)obj;
assert( obj->ops == &atom_table_ops );
@@ -187,6 +187,7 @@
dump_strW( entry->str, entry->len / sizeof(WCHAR), stderr,
"\"\"");
fprintf( stderr, "\"\n" );
}
+#endif
}
/* destroy the atom table */
@@ -197,10 +198,10 @@
assert( obj->ops == &atom_table_ops );
if (table->handles)
{
- for (i = 0; i <= table->last; i++) free( table->handles[i] );
- free( table->handles );
- }
- free( table->entries );
+ for (i = 0; i <= table->last; i++) ExFreePool( table->handles[i] );
+ ExFreePool( table->handles );
+ }
+ ExFreePool( table->entries );
}
/* find an atom entry in its hash list */
@@ -252,7 +253,7 @@
entry->len = str->len;
memcpy( entry->str, str->str, str->len );
}
- else free( entry );
+ else ExFreePool( entry );
}
else set_error( STATUS_NO_MEMORY );
return atom;
@@ -270,7 +271,7 @@
if (entry->prev) entry->prev->next = entry->next;
else table->entries[entry->hash] = entry->next;
table->handles[atom - MIN_STR_ATOM] = NULL;
- free( entry );
+ ExFreePool( entry );
}
}
@@ -321,7 +322,7 @@
if (h)
{
- table = (struct atom_table *)get_handle_obj( current->process, h, 0,
&atom_table_ops );
+ table = (struct atom_table *)get_handle_obj(
(PPROCESSINFO)PsGetCurrentProcessWin32Process(), h, 0, &atom_table_ops );
}
else
{
@@ -386,7 +387,7 @@
if (table)
{
- get_req_unicode_str( &name );
+ get_req_unicode_str( (void *)req, &name );
reply->atom = add_atom( table, &name );
release_object( table );
}
@@ -411,13 +412,14 @@
if (table)
{
- get_req_unicode_str( &name );
+ get_req_unicode_str( (void *)req, &name );
reply->atom = find_atom( table, &name );
release_object( table );
}
}
/* get global atom name */
+#if 0
DECL_HANDLER(get_atom_information)
{
struct atom_table *table = get_table( req->table, 0 );
@@ -427,7 +429,7 @@
if ((entry = get_atom_entry( table, req->atom )))
{
- set_reply_data( entry->str, min( entry->len, get_reply_max_size() ));
+ set_reply_data( (void*)req, entry->str, min( entry->len,
get_reply_max_size((void*)req) ));
reply->count = entry->count;
reply->pinned = entry->pinned;
reply->total = entry->len;
@@ -436,7 +438,7 @@
release_object( table );
}
}
-
+#endif
/* set global atom name */
DECL_HANDLER(set_atom_information)
{
@@ -460,7 +462,7 @@
if (table)
{
- reply->table = alloc_handle( current->process, table, 0, 0 );
+ reply->table = alloc_handle( (PPROCESSINFO)PsGetCurrentProcessWin32Process(),
table, 0, 0 );
release_object( table );
}
}
@@ -483,7 +485,7 @@
if (entry->prev) entry->prev->next = entry->next;
else table->entries[entry->hash] = entry->next;
table->handles[i] = NULL;
- free( entry );
+ ExFreePool( entry );
}
}
release_object( table );