[HB] Fix various XXX issues
authorBehdad Esfahbod <behdad@behdad.org>
Thu, 6 Aug 2009 22:34:47 +0000 (18:34 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Mon, 2 Nov 2009 19:40:34 +0000 (14:40 -0500)
src/hb-open-type-private.hh
src/hb-ot-layout-gdef-private.hh

index 08dd075..494a99d 100644 (file)
@@ -298,9 +298,16 @@ _hb_sanitize_edit (hb_sanitize_context_t *context,
 #define SANITIZE_OBJ(X) SANITIZE_MEM(&(X), sizeof (X))
 #define SANITIZE_GET_SIZE() SANITIZE_SELF() && SANITIZE_MEM (this, this->get_size ())
 
-#define SANITIZE_MEM(B,L) HB_LIKELY (context->start <= CONST_CHARP(B) && CONST_CHARP(B) + (L) <= context->end) /* XXX overflow */
+/* TODO Optimize this if L is fixed (gcc magic) */
+#define SANITIZE_MEM(B,L) \
+       HB_LIKELY (context->start <= CONST_CHARP(B) && \
+                  CONST_CHARP(B) < context->end && \
+                  context->end - CONST_CHARP(B) < (L))
 
-#define NEUTER(Var, Val) (SANITIZE_OBJ (Var) && _hb_sanitize_edit (context, CONST_CHARP(&(Var)), sizeof (Var)) && ((Var) = (Val), true))
+#define NEUTER(Var, Val) \
+       (SANITIZE_OBJ (Var) && \
+        _hb_sanitize_edit (context, CONST_CHARP(&(Var)), sizeof (Var)) && \
+        ((Var) = (Val), true))
 
 
 /* Template to sanitize an object. */
@@ -311,7 +318,7 @@ struct Sanitizer
     hb_sanitize_context_t context;
     bool sane;
 
-    /* XXX is_sane() stuff */
+    /* TODO is_sane() stuff */
 
   retry:
 #if HB_DEBUG
index b1b034b..fcf85c2 100644 (file)
@@ -99,7 +99,7 @@ struct CaretValueFormat1
   private:
   inline int get_caret_value (hb_ot_layout_context_t *context, hb_codepoint_t glyph_id) const
   {
-    /* XXX vertical */
+    /* TODO vertical */
     return context->font->x_scale * coordinate / 0x10000;
   }
 
@@ -141,7 +141,7 @@ struct CaretValueFormat3
 
   inline int get_caret_value (hb_ot_layout_context_t *context, hb_codepoint_t glyph_id) const
   {
-    /* XXX vertical */
+    /* TODO vertical */
     return context->font->x_scale * coordinate / 0x10000 +
           ((this+deviceTable).get_delta (context->font->x_ppem) << 6);
   }
@@ -163,7 +163,6 @@ ASSERT_SIZE (CaretValueFormat3, 6);
 
 struct CaretValue
 {
-  /* XXX  we need access to a load-contour-point vfunc here */
   int get_caret_value (hb_ot_layout_context_t *context, hb_codepoint_t glyph_id) const
   {
     switch (u.format) {