[svn:parrot] r48362 - branches/unshared_buffers/src/pmc
darbelo at svn.parrot.org
darbelo at svn.parrot.org
Mon Aug 9 21:05:57 UTC 2010
Author: darbelo
Date: Mon Aug 9 21:05:57 2010
New Revision: 48362
URL: https://trac.parrot.org/parrot/changeset/48362
Log:
Wrap direct _bufstart access behind the proper macros.
Modified:
branches/unshared_buffers/src/pmc/stringbuilder.pmc
Modified: branches/unshared_buffers/src/pmc/stringbuilder.pmc
==============================================================================
--- branches/unshared_buffers/src/pmc/stringbuilder.pmc Mon Aug 9 21:05:42 2010 (r48361)
+++ branches/unshared_buffers/src/pmc/stringbuilder.pmc Mon Aug 9 21:05:57 2010 (r48362)
@@ -67,9 +67,9 @@
buffer->charset = Parrot_default_charset_ptr;
/* We need all string flags here because we use this buffer in substr_str */
buffer->flags = PObj_is_string_FLAG | PObj_live_FLAG | PObj_external_FLAG;
- buffer->_bufstart = buffer->strstart = mem_gc_allocate_n_typed(INTERP,
+ Buffer_bufstart(buffer)t = buffer->strstart = mem_gc_allocate_n_typed(INTERP,
initial_size, char);
- buffer->_buflen = initial_size;
+ Buffer_buflen(buffer) = initial_size;
SET_ATTR_buffer(INTERP, SELF, buffer);
@@ -90,8 +90,8 @@
if (PMC_data(SELF)) {
STRING *buffer;
GET_ATTR_buffer(INTERP, SELF, buffer);
- if (buffer->_bufstart)
- mem_gc_free(INTERP, buffer->_bufstart);
+ if (Buffer_bufstart(buffer))
+ mem_gc_free(INTERP, Buffer_bufstart(buffer));
mem_gc_free(INTERP, buffer);
}
}
@@ -143,13 +143,14 @@
/* Create new temporary string */
STRING * const new_buffer = Parrot_unicode_charset_ptr->to_charset(interp, buffer);
- mem_gc_free(INTERP, buffer->_bufstart);
+ mem_gc_free(INTERP, Buffer_bufstart(buffer));
STRUCT_COPY(buffer, new_buffer);
buffer->flags = PObj_is_string_FLAG | PObj_live_FLAG | PObj_external_FLAG;
- buffer->_bufstart = buffer->strstart = mem_gc_allocate_n_typed(INTERP,
- new_buffer->_buflen, char);
- mem_sys_memcopy(buffer->_bufstart, new_buffer->_bufstart, new_buffer->_buflen);
+ Buffer_bufstart(buffer) = buffer->strstart = mem_gc_allocate_n_typed(INTERP,
+ Buffer_buflen(new_buffer), char);
+ mem_sys_memcopy(Buffer_bufstart(buffer), Buffer_bufstart(new_buffer),
+ Buffer_buflen(new_buffer));
SET_ATTR_buffer(INTERP, SELF, buffer);
@@ -162,9 +163,9 @@
/* Reallocate if necessary */
if (total_size > Buffer_buflen(buffer)) {
/* Parrot_unicode_charset_ptr can produce NULL buffer */
- buffer->_bufstart = buffer->strstart = mem_gc_realloc_n_typed(INTERP,
- buffer->_bufstart, total_size, char);
- buffer->_buflen = total_size;
+ Buffer_bufstart(buffer) = buffer->strstart = mem_gc_realloc_n_typed(INTERP,
+ Buffer_bufstart(buffer), total_size, char);
+ Buffer_buflen(buffer) = total_size;
}
/* Tack s on the end of buffer */
@@ -224,9 +225,9 @@
/* Reallocate if necessary */
if (total_size > Buffer_buflen(buffer)) {
- buffer->_bufstart = buffer->strstart = mem_gc_realloc_n_typed(INTERP,
- buffer->_bufstart, total_size, char);
- buffer->_buflen = total_size;
+ Buffer_bufstart(buffer) = buffer->strstart = mem_gc_realloc_n_typed(INTERP,
+ Buffer_bufstart(buffer), total_size, char);
+ Buffer_buflen(buffer) = total_size;
}
/* Tack s on the buffer */
More information about the parrot-commits
mailing list