No need to keep blob in sanitize context
authorBehdad Esfahbod <behdad@behdad.org>
Fri, 23 Apr 2010 18:07:34 +0000 (14:07 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Fri, 23 Apr 2010 18:07:34 +0000 (14:07 -0400)
src/hb-open-type-private.hh

index a4b76c5..6ec22f5 100644 (file)
@@ -168,14 +168,12 @@ struct _hb_sanitize_context_t
   const char *start, *end;
   hb_bool_t writable;
   unsigned int edit_count;
-  hb_blob_t *blob;
 };
 
 static HB_GNUC_UNUSED void
 _hb_sanitize_init (hb_sanitize_context_t *context,
                   hb_blob_t *blob)
 {
-  context->blob = blob;
   context->start = hb_blob_lock (blob);
   context->end = context->start + hb_blob_get_length (blob);
   context->writable = hb_blob_is_writable (blob);
@@ -189,15 +187,14 @@ _hb_sanitize_init (hb_sanitize_context_t *context,
 
 static HB_GNUC_UNUSED void
 _hb_sanitize_fini (hb_sanitize_context_t *context,
-                  bool unlock)
+                  hb_blob_t *blob)
 {
 #if HB_DEBUG_SANITIZE
   fprintf (stderr, "sanitize %p fini [%p..%p] %u edit requests\n",
-          context->blob, context->start, context->end, context->edit_count);
+          blob, context->start, context->end, context->edit_count);
 #endif
 
-  if (unlock)
-    hb_blob_unlock (context->blob);
+  hb_blob_unlock (blob);
 }
 
 static HB_GNUC_UNUSED inline bool
@@ -323,10 +320,10 @@ struct Sanitizer
          sane = false;
        }
       }
-      _hb_sanitize_fini (&context, true);
+      _hb_sanitize_fini (&context, blob);
     } else {
       unsigned int edit_count = context.edit_count;
-      _hb_sanitize_fini (&context, true);
+      _hb_sanitize_fini (&context, blob);
       if (edit_count && !hb_blob_is_writable (blob) && hb_blob_try_writable (blob)) {
         /* ok, we made it writable by relocating.  try again */
 #if HB_DEBUG_SANITIZE