{
hb_blob_t *blob;
- if (!length || offset >= parent->length || !(blob = hb_object_create<hb_blob_t> ()))
+ if (!length || offset >= parent->length)
return &_hb_blob_nil;
hb_blob_make_immutable (parent);
inline void setup (void)
{
- this->start = hb_blob_get_data (blob, NULL);
- this->end = this->start + hb_blob_get_length (blob);
+ this->start = hb_blob_get_data (this->blob, NULL);
+ this->end = this->start + hb_blob_get_length (this->blob);
this->edit_count = 0;
this->debug_depth = 0;
sane = false;
}
}
- c->finish ();
} else {
unsigned int edit_count = c->edit_count;
- c->finish ();
if (edit_count && !c->writable) {
c->start = hb_blob_get_data_writable (blob, NULL);
c->end = c->start + hb_blob_get_length (blob);
}
}
+ c->finish ();
+
(void) (HB_DEBUG_SANITIZE &&
fprintf (stderr, "Sanitizer %p %s %s\n", blob, sane ? "passed" : "FAILED", HB_FUNC));
if (sane)