OSDN Git Service

iio-sensors: avoid memset a dynamic class
authorChih-Wei Huang <cwhuang@linux.org.tw>
Thu, 23 Nov 2017 06:18:27 +0000 (14:18 +0800)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Thu, 23 Nov 2017 06:18:27 +0000 (14:18 +0800)
commitaacbecd62199ce115f3aa79c2d46ba5a774c6e44
tree708fdb97d3e03a7e196c9a375ec67ebb7234d4b4
parent40d6eb0404a1af7647dec78b4bf75d9949920497
iio-sensors: avoid memset a dynamic class

A dynamic class doesn't support static initialization. The compiler
complains:

hardware/libsensors/iio-sensors.cpp:119:9: warning: destination for this 'memset' call is a pointer to dynamic class 'SensorBase'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
        memset(this, 0, sizeof(SensorBase));
        ~~~~~~ ^

Move all data members of SensorBase to a trivial class which could be
statically initialized.

Refer: http://en.cppreference.com/w/cpp/types/is_trivial
iio-sensors.cpp