Added a struct unicode_str to encapsulate object names.
diff --git a/server/timer.c b/server/timer.c
index c93a066..f87ac2d 100644
--- a/server/timer.c
+++ b/server/timer.c
@@ -68,12 +68,12 @@
/* create a timer object */
-static struct timer *create_timer( const WCHAR *name, size_t len, unsigned int attr,
+static struct timer *create_timer( const struct unicode_str *name, unsigned int attr,
int manual )
{
struct timer *timer;
- if ((timer = create_named_object( sync_namespace, &timer_ops, name, len, attr )))
+ if ((timer = create_named_object( sync_namespace, &timer_ops, name, attr )))
{
if (get_error() != STATUS_OBJECT_NAME_COLLISION)
{
@@ -204,9 +204,11 @@
DECL_HANDLER(create_timer)
{
struct timer *timer;
+ struct unicode_str name;
reply->handle = 0;
- if ((timer = create_timer( get_req_data(), get_req_data_size(), req->attributes, req->manual )))
+ get_req_unicode_str( &name );
+ if ((timer = create_timer( &name, req->attributes, req->manual )))
{
reply->handle = alloc_handle( current->process, timer, req->access,
req->attributes & OBJ_INHERIT );
@@ -217,8 +219,10 @@
/* open a handle to a timer */
DECL_HANDLER(open_timer)
{
- reply->handle = open_object( sync_namespace, get_req_data(), get_req_data_size(),
- &timer_ops, req->access, req->attributes );
+ struct unicode_str name;
+
+ get_req_unicode_str( &name );
+ reply->handle = open_object( sync_namespace, &name, &timer_ops, req->access, req->attributes );
}
/* set a waitable timer */