@@ -50,42 +50,38 @@ BLECharacteristic::BLECharacteristic(BLECharacteristicImp *characteristicImp,
50
50
_value_size = characteristicImp->valueSize ();
51
51
}
52
52
53
- BLECharacteristic::BLECharacteristic (const BLECharacteristic& rhs)
54
- {
55
- unsigned char *_value = (unsigned char *)malloc (rhs._value_size );
56
- if (_value)
57
- {
58
- memcpy (_value, rhs._value , rhs._value_size );
59
- _value_size = rhs._value_size ;
60
- memcpy (_uuid_cstr, rhs._uuid_cstr , sizeof (_uuid_cstr));
61
- _properties = rhs._properties ;
62
- _event_handlers = rhs._event_handlers ;
63
- _internal = rhs._internal ;
64
- _bledev = BLEDevice (&rhs._bledev );
65
- }
66
- }
67
-
68
- BLECharacteristic& BLECharacteristic::operator = (const BLECharacteristic& rhs)
53
+ BLECharacteristic::BLECharacteristic (const BLECharacteristic& rhs):
54
+ _value(NULL ),
55
+ _event_handlers(NULL )
69
56
{
70
- if (this != &rhs)
57
+ _chrc_local_imp = NULL ; // Not copy
58
+ _value_size = rhs._value_size ;
59
+ _internal = rhs._internal ;
60
+ _bledev = BLEDevice (&rhs._bledev );
61
+ memcpy (_uuid_cstr, rhs._uuid_cstr , sizeof (_uuid_cstr));
62
+ _properties = rhs._properties ;
63
+
64
+ if (rhs._internal == NULL )
71
65
{
72
- if (_value)
66
+ if (rhs. _value != NULL )
73
67
{
74
- free (_value);
68
+ _value = (unsigned char *)malloc (rhs._value_size );
69
+ if (NULL != _value)
70
+ {
71
+ memcpy (_value, rhs._value , rhs._value_size );
72
+ }
73
+
75
74
}
76
- _value = ( unsigned char *) malloc (rhs. _value_size );
77
- if (_value )
75
+
76
+ if (rhs. _event_handlers != NULL )
78
77
{
79
- memcpy (_value, rhs._value , rhs._value_size );
80
- _value_size = rhs._value_size ;
81
- memcpy (_uuid_cstr, rhs._uuid_cstr , sizeof (_uuid_cstr));
82
- _properties = rhs._properties ;
83
- _event_handlers = rhs._event_handlers ;
84
- _internal = rhs._internal ;
85
- _bledev = BLEDevice (&rhs._bledev );
78
+ _event_handlers = (BLECharacteristicEventHandler*)malloc (sizeof (BLECharacteristicEventHandler) * BLECharacteristicEventLast);
79
+
80
+ if (NULL != _event_handlers)
81
+ memcpy (_event_handlers, rhs._event_handlers , (sizeof (BLECharacteristicEventHandler) * BLECharacteristicEventLast));
86
82
}
87
83
}
88
- return *this ;
84
+ // return *this;
89
85
}
90
86
91
87
BLECharacteristic::~BLECharacteristic ()
@@ -165,50 +161,46 @@ BLECharacteristic::operator bool() const
165
161
166
162
BLECharacteristic& BLECharacteristic::operator = (const BLECharacteristic& chrc)
167
163
{
168
- memcpy (_uuid_cstr, chrc._uuid_cstr , sizeof (_uuid_cstr));
169
- _bledev.setAddress (*chrc._bledev .bt_le_address ());
170
- _internal = chrc._internal ;
171
- _chrc_local_imp = NULL ; // Not copy
172
- _properties = chrc._properties ;
173
-
174
- if (_value_size < chrc._value_size )
164
+ if (this != &chrc)
175
165
{
176
- _value_size = chrc._value_size ;
177
- if (NULL != _value)
178
- {
179
- free (_value);
180
- _value = NULL ;
181
- }
166
+ memcpy (_uuid_cstr, chrc._uuid_cstr , sizeof (_uuid_cstr));
167
+ _bledev.setAddress (*chrc._bledev .bt_le_address ());
168
+ _internal = chrc._internal ;
169
+ _chrc_local_imp = NULL ; // Not copy
170
+ _properties = chrc._properties ;
182
171
183
- if (NULL != _event_handlers )
172
+ if (_value_size < chrc. _value_size )
184
173
{
185
- free (_event_handlers);
186
- _event_handlers = NULL ;
187
- }
188
- }
189
-
190
- if (_internal == NULL )
191
- {
192
- if (chrc._value != NULL )
193
- {
194
- if (NULL == _value)
195
- _value = (unsigned char *) malloc (_value_size);
196
-
174
+ _value_size = chrc._value_size ;
197
175
if (NULL != _value)
198
- memcpy (_value, chrc._value , chrc._value_size );
176
+ {
177
+ free (_value);
178
+ _value = NULL ;
179
+ }
199
180
}
200
181
201
- if (chrc. _event_handlers ! = NULL )
182
+ if (_internal = = NULL )
202
183
{
203
- if (NULL == _event_handlers)
204
- _event_handlers = (BLECharacteristicEventHandler*)malloc (sizeof (BLECharacteristicEventHandler) * BLECharacteristicEventLast);
184
+ if (chrc._value != NULL )
185
+ {
186
+ if (NULL == _value)
187
+ _value = (unsigned char *) malloc (_value_size);
188
+
189
+ if (NULL != _value)
190
+ memcpy (_value, chrc._value , chrc._value_size );
191
+ }
192
+
193
+ if (chrc._event_handlers != NULL )
194
+ {
195
+ if (NULL == _event_handlers)
196
+ _event_handlers = (BLECharacteristicEventHandler*)malloc (sizeof (BLECharacteristicEventHandler) * BLECharacteristicEventLast);
197
+
198
+ if (NULL != _event_handlers)
199
+ memcpy (_event_handlers, chrc._event_handlers , (sizeof (BLECharacteristicEventHandler) * BLECharacteristicEventLast));
200
+ }
205
201
206
- if (NULL != _event_handlers)
207
- memcpy (_event_handlers, chrc._event_handlers , (sizeof (BLECharacteristicEventHandler) * BLECharacteristicEventLast));
208
202
}
209
-
210
203
}
211
-
212
204
return *this ;
213
205
}
214
206
0 commit comments