Fix a few MSVC 2008 warnings
authorBehdad Esfahbod <behdad@behdad.org>
Fri, 9 Nov 2018 15:01:50 +0000 (10:01 -0500)
committerBehdad Esfahbod <behdad@behdad.org>
Fri, 9 Nov 2018 15:01:50 +0000 (10:01 -0500)
https://github.com/harfbuzz/harfbuzz/issues/1374

src/hb-set.hh
src/hb-vector.hh

index 21a2252..c47f77b 100644 (file)
@@ -375,8 +375,8 @@ struct hb_set_t
     if (!resize (count))
       return;
     population = other->population;
-    memcpy (pages, other->pages, count * sizeof (pages[0]));
-    memcpy (page_map, other->page_map, count * sizeof (page_map[0]));
+    memcpy (pages, other->pages, count * pages.item_size);
+    memcpy (page_map, other->page_map, count * page_map.item_size);
   }
 
   inline bool is_equal (const hb_set_t *other) const
index fe06add..7056a5b 100644 (file)
@@ -34,6 +34,9 @@
 template <typename Type, unsigned int StaticSize=8>
 struct hb_vector_t
 {
+  typedef Type ItemType;
+  enum { item_size = sizeof (Type) };
+
   HB_NO_COPY_ASSIGN_TEMPLATE2 (hb_vector_t, Type, StaticSize);
   inline hb_vector_t (void) { init (); }
   inline ~hb_vector_t (void) { fini (); }