From: Dan Lewis Date: Mon, 22 Apr 2002 12:00:26 +0000 (-0000) Subject: 2002-04-21 Dan Lewis X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=c3a1f679c72162da60720219234ef0675685d258;p=mono.git 2002-04-21 Dan Lewis * object.c: mono_array_new_full workaround mono_array_class_get problem. svn path=/trunk/mono/; revision=3961 --- diff --git a/mono/metadata/ChangeLog b/mono/metadata/ChangeLog index 2c6358065f6..dcbe10c27de 100644 --- a/mono/metadata/ChangeLog +++ b/mono/metadata/ChangeLog @@ -1,3 +1,8 @@ +2002-04-21 Dan Lewis + + * object.c: mono_array_new_full workaround mono_array_class_get + problem. + 2002-04-17 Patrik Torstensson * string-icalls.c (mono_string_InternalRemove): Fixed overwrite bug. diff --git a/mono/metadata/class.c b/mono/metadata/class.c index 4ccc31e5263..106c8522ca7 100644 --- a/mono/metadata/class.c +++ b/mono/metadata/class.c @@ -1168,6 +1168,7 @@ mono_array_class_get (MonoType *element_type, guint32 rank) at->rank = rank; /* FIXME: complete.... */ } else { + /* FIXME: this is not correct. the lbound could be >0 */ class->byval_arg.type = MONO_TYPE_SZARRAY; class->byval_arg.data.type = &eclass->byval_arg; } diff --git a/mono/metadata/object.c b/mono/metadata/object.c index f8d121128f2..9bafb33833b 100644 --- a/mono/metadata/object.c +++ b/mono/metadata/object.c @@ -563,7 +563,7 @@ mono_array_new_full (MonoDomain *domain, MonoClass *array_class, byte_len = mono_array_element_size (array_class); len = 1; - if (array_class->this_arg.type == MONO_TYPE_SZARRAY) { + if (array_class->rank == 1 && lower_bounds [0] == 0) { bounds = NULL; len = lengths [0]; } else {