Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: string.c 8295 2007-08-11 17:57:24Z michi $
+ $Id: string.c 8318 2007-08-16 10:05:34Z michi $
*/
void stringtable_update(void)
{
- java_lang_String *js;
- java_chararray *a;
- literalstring *s; /* hashtable entry */
+ java_lang_String *js;
+ java_chararray_t *a;
+ literalstring *s; /* hashtable entry */
int i;
for (i = 0; i < hashtable_string.size; i++) {
u4 utflength; /* length of utf-string if uncompressed */
java_handle_t *o;
java_lang_String *s; /* result-string */
- java_chararray *a;
+ java_handle_chararray_t *a;
u4 i;
assert(buffer);
utf_ptr = buffer;
for (i = 0; i < utflength; i++)
- a->data[i] = utf_nextu2((char **) &utf_ptr);
+ LLNI_array_direct(a, i) = utf_nextu2((char **) &utf_ptr);
/* set fields of the javastring-object */
java_handle_t *javastring_safe_new_from_utf8(const char *text)
{
- java_handle_t *o;
- java_chararray *a;
- java_lang_String *s;
+ java_handle_t *o;
+ java_handle_chararray_t *a;
+ java_lang_String *s;
s4 nbytes;
s4 len;
{
char *utf_ptr; /* current utf character in utf string */
u4 utflength; /* length of utf-string if uncompressed */
- java_handle_t *o;
- java_chararray *a;
- java_lang_String *s;
+ java_handle_t *o;
+ java_handle_chararray_t *a;
+ java_lang_String *s;
s4 i;
if (u == NULL) {
/* decompress utf-string */
for (i = 0; i < utflength; i++)
- a->data[i] = utf_nextu2(&utf_ptr);
+ LLNI_array_direct(a, i) = utf_nextu2(&utf_ptr);
/* set fields of the javastring-object */
{
char *utf_ptr; /* current utf character in utf string */
u4 utflength; /* length of utf-string if uncompressed */
- java_handle_t *o;
- java_chararray *a;
- java_lang_String *s;
+ java_handle_t *o;
+ java_handle_chararray_t *a;
+ java_lang_String *s;
s4 i;
u2 ch;
ch = utf_nextu2(&utf_ptr);
if (ch == '/')
ch = '.';
- a->data[i] = ch;
+ LLNI_array_direct(a, i) = ch;
}
/* set fields of the javastring-object */
{
s4 i;
s4 len; /* length of the string */
- java_handle_t *o;
- java_lang_String *s;
- java_chararray *a;
+ java_handle_t *o;
+ java_lang_String *s;
+ java_handle_chararray_t *a;
if (text == NULL) {
exceptions_throw_nullpointerexception();
/* copy text */
for (i = 0; i < len; i++)
- a->data[i] = text[i];
+ LLNI_array_direct(a, i) = text[i];
/* set fields of the javastring-object */
char *javastring_tochar(java_handle_t *so)
{
- java_lang_String *s = (java_lang_String *) so;
- java_chararray *a;
+ java_lang_String *s = (java_lang_String *) so;
+ java_handle_chararray_t *a;
char *buf;
s4 i;
*******************************************************************************/
-java_object_t *literalstring_u2(java_chararray *a, u4 length, u4 offset,
- bool copymode)
+java_object_t *literalstring_u2(java_chararray_t *a, u4 length, u4 offset,
+ bool copymode)
{
literalstring *s; /* hashtable element */
java_lang_String *js; /* u2-array wrapped in javastring */
- java_chararray *ca; /* copy of u2-array */
+ java_chararray_t *ca; /* copy of u2-array */
u4 key;
u4 slot;
u2 i;
/* string already in hashtable, free memory */
if (!copymode)
- mem_free(a, sizeof(java_chararray) + sizeof(u2) * (length - 1) + 10);
+ mem_free(a, sizeof(java_chararray_t) + sizeof(u2) * (length - 1) + 10);
LOCK_MONITOR_EXIT(lock_hashtable_string);
if (copymode) {
/* create copy of u2-array for new javastring */
- u4 arraysize = sizeof(java_chararray) + sizeof(u2) * (length - 1) + 10;
+ u4 arraysize = sizeof(java_chararray_t) + sizeof(u2) * (length - 1) + 10;
ca = mem_alloc(arraysize);
/* memcpy(ca, a, arraysize); */
- memcpy(&(ca->header), &(a->header), sizeof(java_arrayheader));
+ memcpy(&(ca->header), &(a->header), sizeof(java_array_t));
memcpy(&(ca->data), &(a->data) + offset, sizeof(u2) * (length - 1) + 10);
} else {
java_object_t *literalstring_new(utf *u)
{
- char *utf_ptr; /* pointer to current unicode character */
+ char *utf_ptr; /* pointer to current unicode character */
/* utf string */
- u4 utflength; /* length of utf-string if uncompressed */
- java_chararray *a; /* u2-array constructed from utf string */
- u4 i;
+ u4 utflength; /* length of utf-string if uncompressed */
+ java_chararray_t *a; /* u2-array constructed from utf string */
+ u4 i;
utf_ptr = u->text;
utflength = utf_get_number_of_u2s(u);
/* allocate memory */
- a = mem_alloc(sizeof(java_chararray) + sizeof(u2) * (utflength - 1) + 10);
+ a = mem_alloc(sizeof(java_chararray_t) + sizeof(u2) * (utflength - 1) + 10);
/* convert utf-string to u2-array */
for (i = 0; i < utflength; i++)
void literalstring_free(java_object_t* string)
{
java_lang_String *s;
- java_chararray *a;
+ java_chararray_t *a;
s = (java_lang_String *) string;
a = s->value;
FREE(s, java_lang_String);
/* dispose memory of java-characterarray */
- FREE(a, sizeof(java_chararray) + sizeof(u2) * (a->header.size - 1)); /* +10 ?? */
+ FREE(a, sizeof(java_chararray_t) + sizeof(u2) * (a->header.size - 1)); /* +10 ?? */
}