summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuo Jinghua <sunmoon1997@gmail.com>2009-10-31 15:58:25 +0800
committerLuo Jinghua <sunmoon1997@gmail.com>2009-10-31 15:58:25 +0800
commit2d981726ee0bf836418390132aec30ff83e15829 (patch)
tree9a0de3ab77d290038535877f1cfd048c3183eb5d
parent8bf891c46fa2f5fb83c19f0cde16d58b26d55d2c (diff)
milkway: remove type argument from *_init
-rw-r--r--milkway/mw-array.c5
-rw-r--r--milkway/mw-connection-mgr.c7
-rw-r--r--milkway/mw-hash.c9
-rw-r--r--milkway/mw-object.c18
-rw-r--r--milkway/mw-object.h4
-rw-r--r--milkway/mw-poll-select.c7
-rw-r--r--milkway/mw-poll-sys.c7
-rw-r--r--milkway/mw-poll-win32.c5
-rw-r--r--milkway/mw-poll.c5
-rw-r--r--milkway/mw-poll.h3
-rw-r--r--milkway/mw-ptr-array.c5
-rw-r--r--milkway/mw-source.c5
-rw-r--r--milkway/mw-source.h3
-rw-r--r--milkway/test/object-test.c20
14 files changed, 44 insertions, 59 deletions
diff --git a/milkway/mw-array.c b/milkway/mw-array.c
index b2bb2ca..2b8e018 100644
--- a/milkway/mw-array.c
+++ b/milkway/mw-array.c
@@ -52,13 +52,12 @@ static void mw_array_maybe_expand (mw_array_t *array,
static mw_array_t*
mw_array_init (mw_array_t *array,
- mw_array_type_t *type,
mw_bool_t zero_terminated,
mw_bool_t clear,
mw_uint_t elt_size,
mw_uint_t reserved_size)
{
- if (!mw_object_init(&array->base, &type->base))
+ if (!mw_object_init(&array->base))
return NULL;
array->data = NULL;
@@ -95,7 +94,7 @@ mw_array_sized_new (mw_bool_t zero_terminated,
if (!self)
return NULL;
- if (!mw_array_init(self, MW_ARRAY_TYPE, zero_terminated, clear, elt_size,
+ if (!mw_array_init(self, zero_terminated, clear, elt_size,
reserved_size))
return NULL;
return self;
diff --git a/milkway/mw-connection-mgr.c b/milkway/mw-connection-mgr.c
index 14105c8..bfe6586 100644
--- a/milkway/mw-connection-mgr.c
+++ b/milkway/mw-connection-mgr.c
@@ -28,10 +28,9 @@ struct mw_connection_mgr {
static mw_connection_mgr_t*
-mw_connection_mgr_init(mw_connection_mgr_t *self,
- mw_connection_mgr_type_t *type)
+mw_connection_mgr_init(mw_connection_mgr_t *self)
{
- if (!mw_object_init(&self->base, &type->base))
+ if (!mw_object_init(&self->base))
return NULL;
return self;
}
@@ -42,7 +41,7 @@ mw_connection_mgr_new(void)
mw_connection_mgr_t *self = mw_object_alloc(MW_CONNECTION_MGR_TYPE);
if (!self)
return NULL;
- return mw_connection_mgr_init(self, MW_CONNECTION_MGR_TYPE);
+ return mw_connection_mgr_init(self);
}
void
diff --git a/milkway/mw-hash.c b/milkway/mw-hash.c
index 9a70cf6..b2eec7e 100644
--- a/milkway/mw-hash.c
+++ b/milkway/mw-hash.c
@@ -65,13 +65,12 @@ struct _mw_hash {
static mw_hash_t *
mw_hash_init (mw_hash_t *self,
- mw_hash_type_t *type,
mw_hash_func_t hash_func,
mw_equal_func_t equal_func,
mw_destroy_func_t key_destroy_func,
mw_destroy_func_t value_destroy_func)
{
- if (!mw_object_init(&self->base, &type->base))
+ if (!mw_object_init(&self->base))
return NULL;
self->buckets = calloc (sizeof (mw_hash_bucket_t *), primes[0]);
@@ -99,10 +98,8 @@ mw_hash_new (mw_hash_func_t hash_func,
if (!self)
return NULL;
- return mw_hash_init(self, MW_HASH_TYPE,
- hash_func, equal_func,
- key_destroy_func,
- value_destroy_func);
+ return mw_hash_init(self, hash_func, equal_func,
+ key_destroy_func, value_destroy_func);
}
static void
diff --git a/milkway/mw-object.c b/milkway/mw-object.c
index 39130bf..cd04548 100644
--- a/milkway/mw-object.c
+++ b/milkway/mw-object.c
@@ -20,12 +20,11 @@
#include <stdlib.h>
-
-
void*
mw_object_alloc(const void *typep)
{
const mw_object_type_t *type = typep;
+ mw_object_t *self;
size_t size;
mw_unless(type != NULL);
@@ -33,13 +32,10 @@ mw_object_alloc(const void *typep)
size += type->priv_offset;
size += MW_PRIV_ALIGN(type->priv_size);
- return malloc(size);
-}
-
+ self = malloc(size);
+ if (!self)
+ return NULL;
-mw_object_t*
-mw_object_init(mw_object_t *self, mw_object_type_t *type)
-{
self->magic = MW_OBJECT_MAGIC;
self->refcnt = 1;
self->type = type;
@@ -47,6 +43,12 @@ mw_object_init(mw_object_t *self, mw_object_type_t *type)
return self;
}
+mw_object_t*
+mw_object_init(mw_object_t *self)
+{
+ return self;
+}
+
void*
mw_object_ref(void *self)
{
diff --git a/milkway/mw-object.h b/milkway/mw-object.h
index 3cbc837..db0b998 100644
--- a/milkway/mw-object.h
+++ b/milkway/mw-object.h
@@ -45,7 +45,7 @@ struct mw_object {
unsigned magic;
int refcnt;
- mw_object_type_t *type;
+ const mw_object_type_t *type;
};
#define MW_OBJECT_TYPE (mw_object_get_type())
@@ -95,7 +95,7 @@ mw_public void*
mw_object_alloc(const void *typep);
mw_public mw_object_t*
-mw_object_init(mw_object_t *self, mw_object_type_t *type);
+mw_object_init(mw_object_t *self);
mw_public void*
mw_object_ref(void *self);
diff --git a/milkway/mw-poll-select.c b/milkway/mw-poll-select.c
index 53de9a9..20838c2 100644
--- a/milkway/mw-poll-select.c
+++ b/milkway/mw-poll-select.c
@@ -53,10 +53,9 @@ typedef long fd_mask;
#endif /* !NO_FD_SET */
static mw_poll_select_t*
-mw_poll_select_init(mw_poll_select_t *self,
- mw_poll_select_type_t *type)
+mw_poll_select_init(mw_poll_select_t *self)
{
- if (!mw_poll_init(&self->base, &type->base))
+ if (!mw_poll_init(&self->base))
return NULL;
return self;
@@ -68,7 +67,7 @@ mw_poll_select_new(void)
mw_poll_select_t *self = mw_object_alloc(MW_POLL_SELECT_TYPE);
if (!self)
return NULL;
- return (mw_poll_t*)mw_poll_select_init(self, MW_POLL_SELECT_TYPE);
+ return (mw_poll_t*)mw_poll_select_init(self);
}
static mw_bool_t
diff --git a/milkway/mw-poll-sys.c b/milkway/mw-poll-sys.c
index 21e7355..d48b7c9 100644
--- a/milkway/mw-poll-sys.c
+++ b/milkway/mw-poll-sys.c
@@ -49,10 +49,9 @@ struct mw_poll_sys {
};
static mw_poll_sys_t*
-mw_poll_sys_init(mw_poll_sys_t *self,
- mw_poll_sys_type_t *type)
+mw_poll_sys_init(mw_poll_sys_t *self)
{
- if (!mw_poll_init(&self->base, &type->base))
+ if (!mw_poll_init(&self->base))
return NULL;
return self;
@@ -64,7 +63,7 @@ mw_poll_sys_new(void)
mw_poll_sys_t *self = mw_object_alloc(MW_POLL_SYS_TYPE);
if (!self)
return NULL;
- return (mw_poll_t*)mw_poll_sys_init(self, MW_POLL_SYS_TYPE);
+ return (mw_poll_t*)mw_poll_sys_init(self);
}
static mw_bool_t
diff --git a/milkway/mw-poll-win32.c b/milkway/mw-poll-win32.c
index 9e271cb..3982eb0 100644
--- a/milkway/mw-poll-win32.c
+++ b/milkway/mw-poll-win32.c
@@ -28,10 +28,9 @@
#include <windows.h>
static mw_poll_win32_t*
-mw_poll_win32_init(mw_poll_win32_t *self,
- mw_poll_win32_type_t *type)
+mw_poll_win32_init(mw_poll_win32_t *self)
{
- if (!mw_poll_init(&self->base, &type->base))
+ if (!mw_poll_init(&self->base))
return NULL;
return self;
diff --git a/milkway/mw-poll.c b/milkway/mw-poll.c
index 25e2193..dc8ad79 100644
--- a/milkway/mw-poll.c
+++ b/milkway/mw-poll.c
@@ -22,10 +22,9 @@
#include "milkway/mw-ptr-array.h"
mw_poll_t*
-mw_poll_init(mw_poll_t *self,
- mw_poll_type_t *type)
+mw_poll_init(mw_poll_t *self)
{
- if (!mw_object_init(&self->base, &type->base))
+ if (!mw_object_init(&self->base))
return NULL;
self->fds = mw_hash_new(mw_pointer_hash, mw_pointer_equal, NULL, NULL);
if (!self->fds) {
diff --git a/milkway/mw-poll.h b/milkway/mw-poll.h
index 1ff8753..1c2e7b0 100644
--- a/milkway/mw-poll.h
+++ b/milkway/mw-poll.h
@@ -75,8 +75,7 @@ mw_public mw_poll_type_t*
mw_poll_get_type(void);
mw_public mw_poll_t*
-mw_poll_init(mw_poll_t *self,
- mw_poll_type_t *type);
+mw_poll_init(mw_poll_t *self);
static mw_inline mw_bool_t
mw_poll_add_fd(mw_poll_t *self,
diff --git a/milkway/mw-ptr-array.c b/milkway/mw-ptr-array.c
index 14d9958..4390875 100644
--- a/milkway/mw-ptr-array.c
+++ b/milkway/mw-ptr-array.c
@@ -51,10 +51,9 @@ static void mw_ptr_array_maybe_expand (mw_ptr_array_t *array,
static mw_ptr_array_t*
mw_ptr_array_init (mw_ptr_array_t *array,
- mw_ptr_array_type_t *type,
mw_uint_t reserved_size)
{
- if (!mw_object_init(&array->base, &type->base))
+ if (!mw_object_init(&array->base))
return NULL;
array->pdata = NULL;
@@ -81,7 +80,7 @@ mw_ptr_array_sized_new (mw_uint_t reserved_size)
if (!self)
return NULL;
- if (!mw_ptr_array_init(self, MW_PTR_ARRAY_TYPE, reserved_size))
+ if (!mw_ptr_array_init(self, reserved_size))
return NULL;
return self;
}
diff --git a/milkway/mw-source.c b/milkway/mw-source.c
index aa9d7df..70895fc 100644
--- a/milkway/mw-source.c
+++ b/milkway/mw-source.c
@@ -21,10 +21,9 @@
#include "milkway/mw-source.h"
mw_source_t*
-mw_source_init(mw_source_t *self,
- mw_source_type_t *type)
+mw_source_init(mw_source_t *self)
{
- if (!mw_object_init(&self->base, &type->base))
+ if (!mw_object_init(&self->base))
return NULL;
self->prio = 0;
diff --git a/milkway/mw-source.h b/milkway/mw-source.h
index a94332e..a273526 100644
--- a/milkway/mw-source.h
+++ b/milkway/mw-source.h
@@ -51,8 +51,7 @@ mw_public mw_source_type_t*
mw_source_get_type(void);
mw_public mw_source_t*
-mw_source_init(mw_source_t *self,
- mw_source_type_t *type);
+mw_source_init(mw_source_t *self);
static mw_inline mw_bool_t
mw_source_prepare(mw_source_t *self,
diff --git a/milkway/test/object-test.c b/milkway/test/object-test.c
index d418bf1..8fa94c2 100644
--- a/milkway/test/object-test.c
+++ b/milkway/test/object-test.c
@@ -42,10 +42,9 @@ static test_a_type_t*
test_a_get_type(void);
static test_a_t*
-test_a_init(test_a_t *self,
- test_a_type_t *type)
+test_a_init(test_a_t *self)
{
- if (!mw_object_init(&self->base, &type->base))
+ if (!mw_object_init(&self->base))
return NULL;
return self;
}
@@ -56,7 +55,7 @@ test_a_new(void)
test_a_t *self = mw_object_alloc(TEST_A_TYPE);
if (!self)
return NULL;
- return test_a_init(self, TEST_A_TYPE);
+ return test_a_init(self);
}
static void
@@ -66,8 +65,7 @@ test_a_finalize(mw_object_t *self)
}
static void
-test_a_type_init(test_a_type_t *type,
- mw_object_type_t *parent)
+test_a_type_init(test_a_type_t *type)
{
type->base.finalize = test_a_finalize;
}
@@ -93,10 +91,9 @@ static test_b_type_t*
test_b_get_type(void);
static test_b_t*
-test_b_init(test_b_t *self,
- test_b_type_t *type)
+test_b_init(test_b_t *self)
{
- if (!mw_object_init(&self->base, &type->base))
+ if (!mw_object_init(&self->base))
return NULL;
return self;
}
@@ -107,7 +104,7 @@ test_b_new(void)
test_b_t *self = mw_object_alloc(TEST_B_TYPE);
if (!self)
return NULL;
- return test_b_init(self, TEST_B_TYPE);
+ return test_b_init(self);
}
static void
@@ -117,8 +114,7 @@ test_b_finalize(mw_object_t *self)
}
static void
-test_b_type_init(test_b_type_t *type,
- mw_object_type_t *parent)
+test_b_type_init(test_b_type_t *type)
{
type->base.finalize = test_b_finalize;
}