Simplify sanitize set_object() / fix bots
This commit is contained in:
parent
c5a6b355e1
commit
6ee401049d
|
@ -259,17 +259,10 @@ struct hb_sanitize_context_t :
|
||||||
|
|
||||||
inline void set_max_ops (int max_ops_) { max_ops = max_ops_; }
|
inline void set_max_ops (int max_ops_) { max_ops = max_ops_; }
|
||||||
|
|
||||||
struct dummy_get_size_t
|
template <typename T>
|
||||||
{ inline unsigned int get_size (void) const { return 0; } };
|
inline void set_object (const T *obj)
|
||||||
|
|
||||||
template <typename T = dummy_get_size_t>
|
|
||||||
inline void set_object (const T *obj = nullptr)
|
|
||||||
{
|
{
|
||||||
this->start = this->blob->data;
|
reset_object ();
|
||||||
this->end = this->start + this->blob->length;
|
|
||||||
assert (this->start <= this->end); /* Must not overflow. */
|
|
||||||
|
|
||||||
if (!obj) return;
|
|
||||||
|
|
||||||
const char *obj_start = (const char *) obj;
|
const char *obj_start = (const char *) obj;
|
||||||
const char *obj_end = (const char *) obj + obj->get_size ();
|
const char *obj_end = (const char *) obj + obj->get_size ();
|
||||||
|
@ -284,9 +277,16 @@ struct hb_sanitize_context_t :
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void reset_object (void)
|
||||||
|
{
|
||||||
|
this->start = this->blob->data;
|
||||||
|
this->end = this->start + this->blob->length;
|
||||||
|
assert (this->start <= this->end); /* Must not overflow. */
|
||||||
|
}
|
||||||
|
|
||||||
inline void start_processing (void)
|
inline void start_processing (void)
|
||||||
{
|
{
|
||||||
set_object ();
|
reset_object ();
|
||||||
this->max_ops = MAX ((unsigned int) (this->end - this->start) * HB_SANITIZE_MAX_OPS_FACTOR,
|
this->max_ops = MAX ((unsigned int) (this->end - this->start) * HB_SANITIZE_MAX_OPS_FACTOR,
|
||||||
(unsigned) HB_SANITIZE_MAX_OPS_MIN);
|
(unsigned) HB_SANITIZE_MAX_OPS_MIN);
|
||||||
this->edit_count = 0;
|
this->edit_count = 0;
|
||||||
|
@ -482,7 +482,7 @@ struct hb_sanitize_context_t :
|
||||||
|
|
||||||
struct hb_sanitize_with_object_t
|
struct hb_sanitize_with_object_t
|
||||||
{
|
{
|
||||||
template <typename T = hb_sanitize_context_t::dummy_get_size_t>
|
template <typename T>
|
||||||
inline hb_sanitize_with_object_t (hb_sanitize_context_t *c,
|
inline hb_sanitize_with_object_t (hb_sanitize_context_t *c,
|
||||||
const T& obj) : c (c)
|
const T& obj) : c (c)
|
||||||
{
|
{
|
||||||
|
@ -490,7 +490,7 @@ struct hb_sanitize_with_object_t
|
||||||
}
|
}
|
||||||
inline ~hb_sanitize_with_object_t (void)
|
inline ~hb_sanitize_with_object_t (void)
|
||||||
{
|
{
|
||||||
c->set_object ();
|
c->reset_object ();
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Reference in New Issue